在我的程序中,我打开一个窗口并运行一个大循环。我在QTextEdit中显示进度。我添加了一个取消按钮来停止大循环。
因此,在窗口构造函数中,我运行了一个类似于
void start()
{
for (size_t i=0, i<10000000; ++i)
{
// do some computing
QApplication::processEvents(); // Else clicking the stop button has no effect until the end of the loop
if (m_sto
我目前有一个方法,如下所示
void SomeMethod(int a)
{
//Delay for one sec.
timer->start(1000);
//After one sec
SomeOtherFunction(a);
}
这种方法实际上是一个附加在信号上的插槽。我想使用Qtimer.However来增加1秒的延迟,我不知道如何完成这个任务。因为定时器在信号完成时触发信号,因此需要将信号附加到另一个不接受任何参数的方法。关于我如何完成这项任务,有什么建议吗?
更新: --信号将在一秒钟内被多次调用,延迟将是一秒钟。这里我的问题是
我使用PyQt5创建了一个QtDesigner图形用户界面,并将其转换为QtDesigner。我正计划更新和显示从Raspberry Pi读取的传感器的值。因为GUI在循环中,所以我无法从该循环外部更新数据。目前,我使用了下面的代码,其中我使用了每隔一段时间执行函数的QTimer小部件。这个解决方案是否合适?还有哪些其他方法可用于完成此任务?
from PyQt5 import QtCore, QtGui, QtWidgets
from uimainwindow import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_M