Так что в основном я унаследован от QPushButton, и я хочу обработать сигнал прямо внутри класса. Я также продвинул кнопку, которую я хочу, чтобы этот новый класс.Невозможно настроить метод наследуемого класса как слот для сигнала щелчка
Так что я сделал:
QObject::connect(ui->pickWatermarkButton, SIGNAL(clicked()),ui->pickWatermarkButton, SLOT(handleButton()));
handleButton существует и объявлен как открытый слот. Однако, когда я нажимаю кнопку, ничего не происходит.
Я изменил слот на функцию местоположения, внутри mainWindow и удивил, он работает! По-видимому, он отказывается работать, когда я пытаюсь использовать в качестве слота метод в унаследованном классе!
Убедитесь, что в классе кнопок есть макрос 'Q_OBJECT' и что' handleButton() 'объявлен в разделе' slots: '. – LogicStuff
Как сказал LogicStuff. Если это не недостающий макрос Q_OBJECT, добавьте заголовок подкласса QPushButton здесь. Также проверьте консоль на наличие ошибок при вызове connect(). –
Я добавил макрос Q_OBJECT. Но теперь я получаю «неопределенные ссылки на vtable». И да, я определил деструктор! – GCooper