编辑:已解决。
嗨,我从Qt开始,我尝试连接一个插槽来发信号QProcess::started()
,但不能。 QObject::connect()
会返回false
。
知道我做错了什么吗?
以下是代码的一部分:
class foo : public QObject
{
public:
QProcess *process;
public slots:
void process_started();
}
foo::foo()
{
process = new QProcess();
bool status = QObject::connect( process, SIGNAL( started() ), this, SLOT( process_started() ) );
// status is false, meaning the slot and signal couldn't be connected
}
我知道该过程已成功启动,因为我尝试process->WaitForStarted()
并返回true
。
但是我在插槽foo::process_started()
放了一个断点,它永远不会被击中。
这有什么问题?
谢谢!
答案 0 :(得分:6)
您忘记将Q_OBJECT
放入班级声明中。如果没有该关键字,moc
就不知道需要为您的班级生成元对象信息。