【发布时间】:2015-10-16 06:12:45
【问题描述】:
我正在使用线程开发一个带有 Qt 的应用程序。启动应用程序我启动了一个线程来做一些工作,将需要做工作的对象移动到这样的线程中
QThread aThread;
CsvLoader csvLoader;
connect(&aThread, SIGNAL(started()), &csvLoader, SLOT(compute()));
csvLoader.moveToThread(aThread);
aThread.start();
在应用程序开始时效果很好。现在,我在 UI 中有一个按钮,基本上我想做的就是从 csvLoader 重新运行 compute() 方法,只需这样做
aThread.start();
但是,使线程运行的第二次调用不是调用连接到started() 信号的槽。
知道我可以检查什么或遗漏什么吗?
【问题讨论】: