【发布时间】:2013-05-03 12:30:21
【问题描述】:
我有一个带有函数的 Ui 类,每次我从一个类发出信号时都想调用它,比如说测试。在 ui 函数中,我需要连接我的信号和插槽,但我尝试了 QT 文档中的代码并且没有运气
信号声明
signals:
void paint(int x, int y, int id);
信号发射
emit paint(x, y, id)
连接(m_test 是一个类对象)
connect(&m_test,SIGNAL(paint(int,int,int)), this, SLOT(uiFunction(int,int,int)));
收到此错误
错误:C2664: 'QMetaObject::Connection QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : 无法将参数 1 从 'uiFunction *' 转换为'const QObject *'
但我遵循了这个 QT 文档示例(计数器是类)
Counter a, b;
QObject::connect(&a, SIGNAL(valueChanged(int)),
&b, SLOT(setValue(int)));
有什么想法吗?
【问题讨论】:
-
这是说你的
m_test类型不是从QObject派生的。 -
好的,但 QT 文档中的示例中的那个也没有
-
qt-project.org/doc/qt-4.8/signalsandslots.html
a small example -
class Counter : public QObject... 再试一次。 -
别忘了 Q_OBJECT 宏