qthread相关内容

关于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

如何使用QThreads在多个QTcpSockets上编写?

我已经在QTcpSockets和QThreads上苦苦挣扎了几天. 我有一个QTcpServer,它侦听端口并使用nextPendingConnection()创建一个新的客户端.所以现在客户端有了一个qtcpsocket,我可以用它来读写. 假设我有100个客户端连接到我的服务器.当其中一个想要向所有人广播消息时,我的主线程(使用nextPendingConnection()创建客户 ..
发布时间:2020-07-05 02:33:42 其他开发

Qt通过QConcurrent :: run终止线程生成

平台:Win7 x64,MinGW-rubenvb(4.7.2-x64),Qt 4.8 假设我使用QConcurrent :: run生成了一些冗长的任务(读取填充文件,写入填充文件和运行模拟),如下所示: void MainWindow::runLengthyJob() { /* some setup */ jobWatcher->setFuture(QConcurr ..
发布时间:2020-07-05 02:28:55 C/C++开发

PyQt,QThread,GIL,GUI

我有用Python编写的GUI和程序逻辑.我经常通过调用urllib.requests(以此类推)从Web请求信息,这在GUI无响应但此调用用QThread包装时引起了问题.我认为这是由于GIL导致的.但是如何在PyQt应用程序中使用QThread呢?如果我不能使代码异步工作,怎么在PyQt中使用呢? -代码- qtthreaddecorator.py: from PyQt4 i ..
发布时间:2020-06-16 18:54:26 Python

QThread怪异的行为

我有一个运行某些代码的QThread,我希望它能够很好地退出并进行一些清理,因此代码如下: testdevice.h class testDevice : public QThread { Q_OBJECT ... // some definitions protected: void run(void); private: hid_device *ha ..
发布时间:2020-05-14 01:43:22 C/C++开发

使用QThread的PyQt4多线程

在QThread中调用xml.etree.ElementTree.fromstring()函数时,存在无限循环.同样,许多其他调用使QThread像multiprocessing.Process()一样被阻塞. 重要的是要说它是一个纯块,没有例外或中断. 下面是代码(稍作修改,但原理与源代码相同): from PyQt4.QtGui import * from Ui_mainwindo ..
发布时间:2020-05-14 01:36:41 Python

Qt-使用线程

我有一个QTimer,用于每20毫秒执行一次OpenCV代码和更改QLabel中的图像,但是我想更自然地运行此OpenCV代码,而不依赖于计时器. 相反,我想拥有一个处理用户输入的主线程和另一个使用OpenCV处理图像的线程,我找不到一种线程安全的方法来将一个线程中的QLabel图像(像素图)更改为另一个线程,有人可以描述这个过程,也许给出一些代码示例?我还想知道使用QThread的利弊,因 ..
发布时间:2020-05-14 01:30:37 C/C++开发

PyQt:不能从另一个线程启动计时器

我正在使用python创建Qt GUI,但出现错误:QObject :: startTimer:无法从另一个线程启动计时器.当我运行readModemSnap方法时会发生这种情况.我已经进行了将近一个星期的尝试,尝试了许多我在Web上发现的Qt线程设计方法,但这些设计都不是什么. class ModemScopeWindow(QMainWindow, Ui_ModemScope): def ..
发布时间:2020-05-14 01:16:04 Python

QThread更新UI状态栏?

我有一个简单的pyqt gui,它创建一个qthread来打开文件并读取一些信息.我想更新GUI的状态栏.通常,这是我的功能调用,用于更新状态栏上的消息: class gui1(QtGui.QMainWindow): def __init__(self, parent=None): super(gui1, self).__init__(parent) ..
发布时间:2020-05-14 00:56:20 Python

QSocketNotifier:套接字通知程序不能从另一个线程启用或禁用

我尝试构建一个使用QT的多线程游戏服务器,因此,每个客户端都是基于独立线程的"QThread".现在,我需要将数据发送到同一游戏室中的其他客户端(在其他线程中).例如,当房主关闭游戏室时,游戏服务器需要将"room_closed"消息发送给其他客户端,但消息却相同: QSocketNotifier:无法从以下位置启用或禁用套接字通知程序 另一个线程 ps:我尝试使用正弦/插槽,但仍然存 ..
发布时间:2020-05-14 00:54:13 C/C++开发

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

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