如何在 Qt 中将插槽连接到信号 QProcess::started()?
Posted
技术标签:
【中文标题】如何在 Qt 中将插槽连接到信号 QProcess::started()?【英文标题】:How to connect a slot to signal QProcess::started() in Qt? 【发布时间】:2009-08-27 02:45:45 【问题描述】:编辑:已解决。
嗨,我从 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()
处设置了一个断点,它永远不会被击中。
这里有什么问题?
谢谢!
【问题讨论】:
【参考方案1】:你忘记在你的类声明中输入Q_OBJECT
。如果没有该关键字,moc
不知道它需要为您的类生成元对象信息。
【讨论】:
以上是关于如何在 Qt 中将插槽连接到信号 QProcess::started()?的主要内容,如果未能解决你的问题,请参考以下文章