【发布时间】:2013-01-09 12:06:23
【问题描述】:
有没有办法防止在插槽内创建的线程在插槽完成后被销毁?
<widget.cpp>
...
void Widget::<slot_name>()
{
...
ThreadTask Watcher; //ThreadTask is defined in header file
QThread WatcherThread;
Watcher.moveToThread(&WatcherThread);
QObject::connect ...
WatcherThread.start();
...
}
我知道我可以在插槽之外声明线程并仅从它开始,但问题是,如果再次触发相同的插槽,我想创建另一个线程。
【问题讨论】:
-
您似乎不了解一些有关堆和堆栈分配的 C++ 基础知识。阅读一些好的 C++ 书籍,因为您至少需要 C++ 基础才能使用 Qt
-
是的,我过去一直在编写大量脚本,最近才转向 OOP,但我一直在按顺序思考,就像在脚本中一样。