Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何暂停Qt中仅运行一个Qthread的程序_C++_Qt - Fatal编程技术网

C++ 如何暂停Qt中仅运行一个Qthread的程序

C++ 如何暂停Qt中仅运行一个Qthread的程序,c++,qt,C++,Qt,我在一个线程内运行一个Qt GUI程序,我需要使用“QPushbutton”暂停该程序,然后在另一个“QPushbutton”信号发出时在该点恢复该程序,或者使用不同的“QPushbutton”信号重置为“home”状态。我真的没有任何代码可以显示,因为我的尝试被误导了,完全错误 看看你的程序,只有线程是主(GUI)线程。你想通过停止它来实现什么?如果“停止”它,您将阻止GUI事件循环,应用程序将冻结。您确定只运行一个线程吗?如果你正在启动一个Q线程,你有两个线程,应用程序/事件循环,以及线程管

我在一个线程内运行一个Qt GUI程序,我需要使用“QPushbutton”暂停该程序,然后在另一个“QPushbutton”信号发出时在该点恢复该程序,或者使用不同的“QPushbutton”信号重置为“home”状态。我真的没有任何代码可以显示,因为我的尝试被误导了,完全错误

看看你的程序,只有线程是主(GUI)线程。你想通过停止它来实现什么?如果“停止”它,您将阻止GUI事件循环,应用程序将冻结。您确定只运行一个线程吗?如果你正在启动一个Q线程,你有两个线程,应用程序/事件循环,以及线程管理的线程。不,这些不是线程,只是C++翻译单元.k.a源文件。你真的应该研究状态机。理想情况下,控制器应该在
QStateMachine
上实现。请参阅更温和的介绍,以获取更完整的通信系统示例,用于连接状态管理,用于文件复制进度监控。对于任何类型的机器设计,如果没有对UML状态图的良好理解,您都不会走得太远,因为它们代表分层状态机,在机器控制器的清晰设计和实现中是绝对必要的。最重要的是阅读。现在就做。看看你的程序,只有线程是主(GUI)线程。你想通过停止它来实现什么?如果“停止”它,您将阻止GUI事件循环,应用程序将冻结。您确定只运行一个线程吗?如果你正在启动一个Q线程,你有两个线程,应用程序/事件循环,以及线程管理的线程。不,这些不是线程,只是C++翻译单元.k.a源文件。你真的应该研究状态机。理想情况下,控制器应该在
QStateMachine
上实现。请参阅更温和的介绍,以获取更完整的通信系统示例,用于连接状态管理,用于文件复制进度监控。对于任何类型的机器设计,如果没有对UML状态图的良好理解,您都不会走得太远,因为它们代表分层状态机,在机器控制器的清晰设计和实现中是绝对必要的。最重要的是阅读。现在就做。