Продолжу тему.
Чего то не догоняю с сигналами.
Отнаследовался от QButtonGroup
В paintEvent нарисовал картинки.
В конструкторе разместил радиокнопки вокруг картинки.
Смастерил слот для обработки кнопок.
Подключаю родительский сигнал (clicked(int)) к своему слоту (в моем уже классе). И нифига. Ничего не происходит, даже понять не могу заходит или нет (и в метку на виджете пытаюсь выводить и тупо cout<< в консоль). Причем connect делал как в конструкторе (в конце), так и там где выделял память под экземпляр.
Причем, когда снаружи коннект делаю к стороннему слоту все работает. Но сам на себя никак.
Или он и не должен сам на себя работать?
Или должен, только я чего то не правильно делаю?
добавлено спустя 43 минуты: Ошибка нашлась, но что делать непонятно... похоже мои познания в с++ тут закончились (не успев начаться).
class DiselImage : public QButtonGroup{
public:
DiselImage( QWidget* parent = 0, const char* name = 0);
~DiselImage();
private:
int status[10];
QRadioButton *cyl[10];
QPushButton *bt[4];
QLabel *label;
protected:
void paintEvent(QPaintEvent *event);
public slots:
void setStatus(int cyl, int mode);
void slotButton(int);
};
Хочу в конструктор написать такую строку:
connect(this,SIGNAL(clicked(int)),this,SLOT(slotButton(int)));
При запуске не может найти:
QObject::connect: No such slot QButtonGroup::slotButton(int)
QObject::connect: (sender name: 'unnamed')
QObject::connect: (receiver name: 'unnamed')
Похоже вместо this надо что-то другое, а что?