连接不同线程和类的信号和插槽

问题描述 投票:0回答:1

我正在使用用户界面对应用程序进行编程。这个接口有两个LideEdit对象和一个可检查的GroupBox,它们都包含在MainWindow类中。当用户更改可检查GroupBox的状态时,它将发出一个称为system_toogled(int, int, std::string)的信号。这些变量是用户输入的数据。我还有一个名为myProgramThread的类,它是从QThread类派生的。 myProgramThread类具有一个名为:on_system_toogled(int, int, std::string)的公共插槽,并且在其定义处可以操纵这些变量。我尝试使用以下函数将信号和公共插槽连接:connect()类构造函数内部的myProgramThread,但是它不起作用。调试时,我不断得到以下应用程序输出:

QMetaObject :: connectSlotsByName:没有与之匹配的信号on_system_toogled(int,int,std :: string)

所以我的问题是:如何将信号从MainWindow类连接到另一个线程的插槽?

multithreading qt signals communication slot
1个回答
0
投票

您怎么知道它不起作用?您是否检查过connect()函数的返回值?您看到的是由于您的插槽以某种方式引起误解而触发了Qt的autoconnect功能。

© www.soinside.com 2019 - 2024. All rights reserved.