qthread相关内容

QThread 发出 finished() 信号,但 isRunning() 返回 true 并且 isFinished() 返回 false

下面是我的 qthread 实现的代码.我正在尝试从卫星获取 gps 数据.即使程序退出 gpsSearch() 槽函数,QThread 也不会产生 finished() 信号.每当单击按钮时,都会调用函数 locateMe().第一次未启动线程并单击按钮时,它会为 isRunning() 函数打印真值,并为 isFinished() 函数打印假值.我不得不调用 QTherad 的 quit() ..
发布时间:2022-01-22 13:18:46 C/C++开发

如何从 qml 启动一个 Qthread?

我需要立即启动并停止 Qml 文件中的 QThread 扩展类.有什么解决办法吗?这是我的课: class SerialManager : public QThread{Q_OBJECT上市:CircularList缓冲区_[2];信号:void dataReady(short *value,int len,unsigned short sample);受保护:无效运行();}; 解决方案 ..
发布时间:2022-01-19 22:56:21 C/C++开发

QSerialPort - 等待来自发件人的全部数据

我正在使用串行设备.QSerialPort 位于单独的线程中.线程是这样创建的: QThread* serialthread = new QThread;串行* 串行 = 新串行();串行->moveToThread(串行线程); 当数据可用时,我的线程工作者中的这个信号会发出: void Serial::process(){串行端口 = 新 QSerialPort();连接(this-> ..
发布时间:2022-01-18 14:40:15 C/C++开发

线程时出现 msgbox 错误,GUI 块

我在执行以下 gui 时遇到问题.如果没有消息框,它可以正常工作,但是当有消息框时,它会阻塞.知道为什么有消息时gui会阻塞.谢谢 从 PyQt5 导入 QtCore、QtGui、QtWidgets导入线程进口时间类 Ui_MainWindow(对象):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")Main ..
发布时间:2022-01-12 23:22:16 Python

如何在单独的 QThread 中使用 QTimer

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

Qthread中的Python访问父类的小部件

我想访问QThread类中的父类小部件 这一行给出了挂起 GUI "Example().setWindowTitle("Window")" 我该怎么做? 类示例(QWidget):def __init__(self):超级().__init__()self.myclass2 = myclass2()self.myclass2.start()self.initUI()定义 initUI ..
发布时间:2022-01-12 23:15:02 Python

线程实时记录

我正在编写一个用于调整照片大小的简单脚本.我想要一个带有文本字段的小部件,在调整每个文件大小后会在其中显示消息. #!/usr/bin/python3# -*- 编码:utf-8 -*-导入时间,系统从 PyQt5.QtCore 导入 pyqtSignal,QThread从 PyQt5.QtWidgets 导入 QApplication、QPushButton、QTextEdit、QWidget ..
发布时间:2022-01-12 23:10:30 Python

PyQt5 - QThread:在线程仍在运行时被销毁

如果我在线程完成后再次尝试运行线程,我试图弄清楚为什么这段代码会崩溃. 我第一次单击“开始 5 个线程"时,它运行得很好并完成了.但如果我再次点击它.整个程序崩溃,我得到 QThread: Destroyed while thread is still running Error 此代码是在网络上找到的.我正在努力学习. 导入时间导入系统从 PyQt5.QtCore 导入 QObje ..
发布时间:2022-01-12 22:21:19 Python

Qt线程之间发送大量数据

我有一个 QThread,它会定期生成大量数据(每秒几兆字节),并且需要将其传输到父 (GUI) 线程. 恐怕我对 QThread 的内部运作不是很确定,所以我想寻求最佳实践. 显然,传输数据最直接的方式就是emit一个数组.然而,这有多有效?Qt是否知道它的使用位置并避免在发送和接收时进行深度复制? 如果没有,我很乐意只在主线程中分配内存并提供一个指向子线程的指针,它将在其中写 ..
发布时间:2021-12-09 17:20:55 C/C++开发

QThread 发出finished() 信号但isRunning() 返回true 并且isFinished() 返回false

下面是我的 qthread 实现代码.我正在尝试从卫星获取 GPS 数据.即使程序退出 gpsSearch() 槽函数,QThread 也不会产生finished() 信号.每当单击按钮时都会调用函数 locateMe().第一次当线程未启动并单击按钮时,它会为 isRunning() 函数打印真值,并为 isFinished() 函数打印假值.我不得不调用 QTherad 的 quit() 函数 ..
发布时间:2021-12-09 17:02:31 C/C++开发

如何安全地销毁 QThread?

我想正确地销毁 Qt 5.3 中的 QThread. 到目前为止我有: MyClass::MyClass(QObject *parent) : QObject(parent) {mThread = new QThread(this);QObject::connect(mThread, SIGNAL(finished()), mThread, SLOT(deleteLater()));mWo ..
发布时间:2021-12-09 16:43:29 C/C++开发

在 QThread 中启动 QTimer

我正在尝试在特定线程中启动 QTimer.但是,计时器似乎没有执行,也没有打印出任何内容.是跟定时器、槽还是线程有关? main.cpp #include "MyThread.h"#include 使用命名空间标准;int main(int argc, char *argv[]) {MyThread t;t.start();同时(1);} MyThread.h #ifndef MY ..
发布时间:2021-12-09 16:39:46 C/C++开发

在 Qt 中使用排队连接时如何压缩插槽调用?

在阅读了一些关于 Qt Signal-Slot 通信的文章像这样后,我仍然有关于排队连接的问题. 如果我有一些线程一直在互相发送信号,并且假设一个 thread_slow 在它的事件循环中运行一个慢速方法而另一个 thread_fast 正在运行一个快速发送多个信号而另一个线程仍在运行它的慢方法.....当来自 thread_slow 的慢方法返回到事件循环时,它会处理之前发送的所有信号通过 ..
发布时间:2021-12-09 16:39:18 C/C++开发

如何利用 Qt 使 QObject 方法线程安全?

假设我们在一个 QObject 派生类中编写了一个非常量方法: class MyClass : public QObject {整数 x;民众:无效方法(int a){x = 一个;//可能还有其他事情};}; 我们想让该方法成为线程安全的:这意味着从任意线程调用它,并且从多个线程并发调用,不应引入未定义的行为. Qt 提供哪些机制/API 来帮助我们使该方法成为线程安全的? Qt ..
发布时间:2021-12-09 16:21:55 C/C++开发

Qt 信号(QueuedConnection 和 DirectConnection)

我在处理 Qt 信号时遇到问题. 我不明白 DirectConnection 和 QueuedConnection 是如何工作的? 如果有人能解释何时使用其中的哪一个(示例代码将不胜感激),我将不胜感激. 解决方案 除非您使用具有不同线程亲缘关系的对象,否则您不会看到太大差异.假设您有 QObjects A 和 B 并且它们都附加到不同的线程.A 有一个名为 something ..
发布时间:2021-12-09 16:21:33 C/C++开发

PyQt 中带有 QThread 的后台线程

我有一个程序,它通过我在 PyQt 中编写的 gui 与我正在使用的收音机接口.显然无线电的主要功能之一是传输数据,但要连续执行此操作,我必须循环写入,这会导致 gui 挂起.由于我从未处理过线程,因此我尝试使用 QCoreApplication.processEvents() 摆脱这些挂起. 但是,无线电需要在传输之间休眠,因此 gui 仍然会根据这些挂起的时间长短最后睡觉. 是否有使用 ..
发布时间:2021-12-06 11:08:59 Python

PyQt:如何在不冻结 GUI 的情况下更新进度?

问题: 什么是最佳实践跟踪线程的在不锁定 GUI 的情况下取得进展(“无响应")? 一般来说,最佳做法是什么线程,因为它适用于 GUI发展? 问题背景: 我有一个适用于 Windows 的 PyQt GUI. 用于处理 HTML 集文件. 大约需要三秒钟到三个小时来处理一组文件. 我希望能够处理同时进行多组. 我不想锁定 GUI. 我正在查看线程模块以实现这一目标. ..
发布时间:2021-09-15 19:14:42 Python

Python Qt - 如何从另一个线程在表小部件中插入项目?

我想将 Worker Qthread 中的文本项插入到主线程中的 QTableWidget UI 中?. 我想知道在主线程中创建信号的语法,所以我可以通过信号发送从工作线程插入文本以及行和列 类示例(QWidget):def __init__(self):super().__init__()self.myclass2 = myclass2()self.myclass2.start()sel ..
发布时间:2021-06-30 18:57:14 Python