我在头文件中创建了一个类。
类声明:
class myTimer : public QObject
{
Q_OBJECT
~snipped~
我有一个自定义插槽:
private slots:
void mySlot();
和自定义信号:
signals:
QString mySignal();
插槽简单地发出 mySignal
然后返回一个 QString
。
我将 QPushButton
连接到 mySlot
:
connect(ui->startButton, SIGNAL(clicked()),
timer, SLOT(mySlot()));
和 mySignal
到 LCD 号码:
connect(timer, SIGNAL(mySignal()),
ui->lcdNumber, SLOT(display(QString)));
这里 timer
是我声明的类的对象。在这两个连接语句中,我都收到错误 unable to convert parameter to const QObject*
pointing to the object 'timer'。
我不知道为什么会出现这个错误,即使我已经正确地从 QObject 派生并添加了 Q_OBJECT 宏。
最佳答案
连接函数的第一个参数应该是一个const QObject*
。无法将 myTimer
转换为 const QObject *
,因为其中一个是对象,另一个是指针。您可能需要 &timer
。
关于c++ - 即使在派生和添加宏后也无法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884985/