qtimer相关内容

如何在单独的 QThread 中使用 QTimer

我有一些计算量很大的任务,我想在每 5 秒后循环运行一次,而不会阻塞主事件循环.为此,我打算使用 QTimer 和单独的线程来运行它.我已经尝试了以下代码,但到目前为止还没有成功: @pyqtSlot()def 重任务函数():# 休眠 10 秒以模拟繁重的计算时间.sleep(10)打印“第一个计时器被解雇"如果 __name__ == "__main__":app = QCoreApplic ..
发布时间:2022-01-12 23:18:33 Python

QTimer 对象是否在单独的线程中运行?它的机制是什么?

当我在 Qt 5 中创建一个 QTimer 对象,并使用 start() 成员函数启动它时,会创建一个单独的线程来跟踪时间和定期调用 timeout() 函数? 例如 QTimer *timer = new QTimer;计时器->开始(10);连接(定时器,信号(超时()),一些对象,插槽(一些功能())); 这里,程序如何知道timeout()何时发生?我认为它必须在单独的线程中运行 ..
发布时间:2021-12-31 15:42:19 C/C++开发

将繁重的 QTimer 任务作为 QThread 运行

我有一项繁重的任务,每 500 毫秒就会持续运行一次.它包括更新 GUI 元素,我需要随时访问其变量. 执行的任务:一个动态更新的列表,每 500 毫秒,循环遍历该列表,并在其中包含的元素上执行任务.有时我没有元素,有时我有很多. 加载列表时,用户开始遇到鼠标移动、按键等延迟.毫无疑问,这是因为每 500 毫秒执行一次繁重的任务. 有没有办法让我将这个 QTimer 任务放入 Q ..
发布时间:2021-06-24 20:33:17 Python

如何设置 PyQt5 Qtimer 以指定的时间间隔更新?

我想根据 15 FPS 的帧速率更新 Qtimer - 所以我的 def update(): 每 0.06 秒接收一个信号.你能帮助我吗?我在下面附上了一个代码示例,其中我的 setInterval 输入是 1/15,但我不知道这是否可行.谢谢. from PyQt5 import QtCore定义更新():打印('嘿')每秒帧数 = 15定时器 = QtCore.QTimer()timer.t ..
发布时间:2021-06-24 19:39:41 Python

定期轮询 Raspberry Pi 上的端口或硬件 IO 点

在使用 Qt5 和 Python 开发应用程序时,您通常是事件驱动的.没有汗水,工作就像一个魅力.但是,在某些情况下,您需要轮询某些硬件 GPIO(即按下按钮)的状态,或从串行端口或 gpsd 守护程序等获取一些信息. 处理这个问题的首选方法是什么?通过 QTimer,比如说,每 50 毫秒运行一次?还是有其他我没有找到的方法?在 GPIO pi 上设置触发器是否更好(https://www ..
发布时间:2021-06-24 19:37:22 Python

PyQt5:线程中的计时器

问题描述 我正在尝试制作一个应用程序来收集数据、处理数据、显示数据和执行一些操作(打开/关闭阀门等).作为对我有一些更严格时间限制的未来应用程序的实践,我想在单独的线程中运行数据捕获和处理. 我目前的问题是它告诉我无法从另一个线程启动计时器. 当前代码进度 导入系统导入 PyQt5从 PyQt5.QtWidgets 导入 *从 PyQt5.QtCore 导入 QThread,p ..
发布时间:2021-06-24 19:32:43 Python

QTimer::timeout 没有触发

我正在尝试创建一个事件,该事件在我的 Singleton 工作器中每 n 秒触发一次.信号/槽连接(信号是 QTimer 超时,槽是 lambda 函数,它调用另一个 Singleton 类)不工作.连接调用成功,计时器处于活动状态,我在控制台上没有收到 QTimer 投诉.如果我尝试打印 QTimer 的剩余时间,它会显示 -1.对于我的一生,我无法弄清楚为什么永远不会打印“超时"(表示正在触发 ..
发布时间:2021-06-04 20:29:35 C/C++开发

在while(1)循环中将文本插入到QT中的texteditor

我试图连续"n"次将“某些文本"打印到QTextBrowser.其中"n"是整数.为此,我使用了QTimer :: SingleShot进行计时.一旦触发了超时,则将FLAG设置为false,并且在FLAG为false时,在while循环中监视此"FLAG"以中断,并应插入文本,直到FLAG设置为FALSE. FLAG的初始值为true. #include "mainwindow.h" #i ..
发布时间:2020-07-05 02:36:15 C/C++开发

QTimer是否足够智能以重新同步自己

假设我们从t0开始以100ms的间隔开始QTimer. 比方说,第一次超时发生在t0 + 100ms.好吧. 可以说,由于巨大的CPU负载和/或事件循环必须处理大量事件,第二次超时发生在t0 + 230ms. 比方说,CPU恢复到正常负载.他们有没有机会在t0 + 300ms发生第三次超时(QTimer对象意识到它已经晚了,并试图通过重新同步自身来纠正它),还是最有可能在t0 + ..
发布时间:2020-07-05 02:36:14 其他开发

PyQt5 QTimer计数到特定的秒数

我正在用python创建程序,并且正在使用pyqt.我目前正在使用QTimer,我想每秒钟打印一次"timer works",并在5秒钟后停止打印.这是我的代码: timers = [] def thread_func(): print("Thread works") timer = QtCore.QTimer() timer.timeout.connect(time ..
发布时间:2020-07-05 02:36:07 Python

关于GUI计时器的建议以显示后台线程的经过时间?

问题 我有一个PyQt GUI,用户可以在其中按下按钮来启动后台线程(workerThread,该子类是QThread的子类).我想有一个计时器显示(以QLabel的形式),以显示自workerThread启动以来已经过去了多少时间,我希望该计时器在workerThread退出后立即停止. 可能的解决方案 我已经考虑过创建另一个独立的线程(timerThread),该线程使用QTim ..
发布时间:2020-07-05 02:35:05 Python

如何在使用QWaitCondition的QThread中使用QTimer? (派赛德)

我正在使用pyside,但是(我认为)是一个通用的Qt问题. 我知道QThread实现会调用._exec()方法,因此我们应该在启动的QThread上有一个事件循环.这样,我们就可以在该线程上使用QTimer(我已经做到了,它可以完美地工作).我的问题是,当还使用QWaitCondition时,我想要一个带有无限循环的“消费者"线程,等待(从生产者处)在QWaitCondition上进行通知 ..
发布时间:2020-07-05 02:34:03 Python

如何在单独的QThread中使用QTimer

我有一些计算量大的任务,我想每5秒在一个循环中运行一次,而又不会阻塞主事件循环.为此,我打算使用QTimer和单独的线程来运行它.我已经尝试了以下代码,但到目前为止尚未奏效: @pyqtSlot() def heavy_task_function(): # Sleep for 10 seconds to simulate heavy computation time.slee ..
发布时间:2020-07-05 02:33:55 Python

我可以使用QTimer来实现多线程算法吗?

当前,我需要实现基于Qt的多线程算法.也许我应该尝试扩展QThread. 但是在此之前,我想问一下,是否可以仅使用两个QTimer s timer1,timer2并将它们的超时信号分别连接到线程,以实现“伪"多线程程序? 解决方案 您可以将QTimer的timeout()信号连接到相应的插槽,然后调用start().从那时起,计时器将以固定的时间间隔发出timeout()信号.但是这两个计 ..
发布时间:2020-05-14 00:50:43 C/C++开发

最准确的计时器Qt C ++

我使用QTimer定期将"Ping"数据包发送到服务器(MQTT客户端).但是它的计时器并不是绝对准确的.工作一段时间后,它会出现一些延迟并且服务器断开连接. 我尝试使用其他Qt :: TimerType,但这无济于事. 我需要最准确的计时器.你有什么主意吗? 谢谢! EDIT(Frederik解决方案) 我做了这样的事情: tthread.h class TThre ..
发布时间:2020-05-12 20:14:57 C/C++开发