qthread相关内容

Qt 多线程:如何更新两个 QLabel?

我不是多线程专家.我知道 GUI 应该由主线程管理,但是我需要主线程同时完成两件事.情况如下: 用户点击按钮(自拍),倒计时开始(3 秒).用户可以在 QLabel 中看到每秒变化的数字 3-2.同时用户可以在同一个窗口的另一个 QLabel 中看到摄像头数据. 换句话说,主线程应该做两件事: 更新 QLabel1 以始终显示计时器 使用来自相机的实时视频流更新 QLabel2 ..
发布时间:2021-06-04 20:30:49 C/C++开发

我可以在非 GUI 线程上创建小部件,然后发送到 GUI 吗?

我的 MainWindow 类中有一个复杂的函数,它会定期运行查询并更改小部件的属性和数据.由于在主线程上可能需要很长时间,因此 GUI 可能会冻结. 所以我在另一个线程上创建了一个 GUIUpdater 类来执行周期性操作.我基于这里的解决方案,它展示了如何从另一个线程更新 QLabel: Qt - 用第二个线程更新主窗口 但该解决方案需要定义连接.具有多个widget的复杂功 ..
发布时间:2021-06-04 20:29:05 其他开发

在 QThread.exit() 上立即停止处理事件队列

我正在构建一个 Qt GUI 应用程序,它使用 QThread/QObject 组合充当在主线程之外执行任务的工作线程. 通过moveToThread,QObject 被移动到QThread 中.这样,我的工作人员可以拥有在事件循环中处理的信号(它是一个 QObject)和插槽(由 QThread 提供). 现在我想让工作程序以一种特殊的方式运行,以便在事件循环中的插槽遇到 Pytho ..
发布时间:2021-06-04 20:25:32 其他开发

使用 Qthread-Qt5 创建新线程

我正在尝试创建一个应该在后台运行的新线程 gpsthread,并存储该值. class gpsthread: public QThread{Q_OBJECT私人:nrega_status_t status2;上市:显式 gpsthread(QObject *parent = 0):QThread(parent) {//QTimer *t = new QTimer(this);//connect( ..
发布时间:2021-06-04 20:12:11 C/C++开发

线程处理时出现 msgbox 错误,GUI 阻塞

我在执行以下 gui 时遇到问题.如果没有 msgbox,它可以正常工作,但是当有一个 mesbox 时它会阻塞.知道为什么 gui 在有消息时会阻塞.谢谢 from PyQt5 import QtCore, QtGui, QtWidgets进口螺纹导入时间类 Ui_MainWindow(对象):def setupUi(self, MainWindow):MainWindow.setObject ..
发布时间:2021-06-04 20:05:46 Python

如何在我的GUI上绘图

我正在设计一个带有 PyQt 的 GUI,当我点击一个按钮时,我需要显示一个 matplotlib/pylab 窗口,该按钮从我创建的函数中绘制数据.它就像在 Matlab 中使用的运行时.每次按下该按钮时,我都希望将 matplotlib/pylab 窗口保留为我的窗口. 解决方案 这是一个基本示例,它将使用 QThread 绘制三个不同的样本: #!/usr/bin/env pyth ..
发布时间:2021-06-01 19:30:32 Python

如何使用Qthread通过PyQt更新Matplotlib图形?

我真的很难理解如何在 PyQt 中使用线程.我做了一个简单的示例,说明我想在用户界面中执行的操作.在下面的代码中,我希望用户输入一个股票行情自动收录器(例如,您可以输入"bby","goog"或"v")并绘制特定时期内的股票价值.问题是在更复杂的Ui中,或者是长时间的UI冻结,而绘图正在更新.因此,我制作了一个“绘图仪"类,以在接收到特定信号时更新绘图(覆盖Qthread.run显然不是正确的方法 ..
发布时间:2021-06-01 18:45:07 Python

ListView中没有更新

我制作了一个从 QAbstractListModel 派生的类,并重新实现了所有必需的功能.我创建了一个对象,将一些初始数据填充到模型中(所有beginInsertRows等都完成了),然后通过 setContextProperty 将其(对象)传递给qml.我正在使用 QQuickView .通过 show()命令显示qml后,将生成一个 QThread ,其中将使用Model对象的指针.该线程 ..
发布时间:2021-05-30 19:27:49 其他开发

PyQt线程.动态输出

我使用PyQt线程通过ffmpeg将mp3文件并行转换为aac.这是我的代码: class SubprocessThread(QThread):信号= pyqtSignal('PyQt_PyObject')def __init __(self,command,args):QThread .__ init __()self.command =命令self.args = argsdef __del ..
发布时间:2021-05-06 20:50:57 Python

与Qt 5.1共享QGLWidgets问题的线程化OpenGL

我使用了两个QGLWidgets.一种用于加载纹理,另一种用于渲染,但不起作用. 我使用了以下解释 http://blog.qt.digia.com/blog/2011/06/03/threaded-opengl-in-4-8/ 纹理上传线程上载许多(或大)纹理通常是一项昂贵的操作,因为要推送到GPU的数据量很大.同样,这是可能不必要地阻塞您的主线程的那些操作之一.在4.8中,您可以通 ..
发布时间:2021-04-19 21:01:24 C/C++开发

如何告诉QThread等到工作完成后再完成?

我有一个使用一个工作线程的简单应用程序.启动此工作线程并初始化DownloadManager,该DownloadManager负责从网上下载文件.在我的主应用程序类中,在DownloadManager完成之前发出的线程上具有finish()信号. 我的问题是如何使工作线程一直等到DownloadManager完成工作. 这是示例代码: 类Main{m_DownloadWorker = ..
发布时间:2021-04-19 20:18:40 C/C++开发

如何从qml启动Qthread?

我需要立即开始并从Qml File中停止QThread扩展类.有什么解决办法吗?这是我的课: class SerialManager:公共QThread{Q_OBJECT上市:CircularListbuffer_ [2];信号:void dataReady(short * value,int len,unsigned short sample);受保护的:无效 ..
发布时间:2021-04-19 20:18:18 C/C++开发

停止Qt线程:调用exit()或quit()不会停止线程执行

在main()即主线程中创建了一个QThread.将工作程序类移至新线程.该线程执行工作程序类的"StartThread"方法. 工作线程: //头文件类Worker:公共QObject{Q_OBJECT上市:Worker(QThread *线程);公共插槽:void StartThread();void EndThread();私人的:QThread * m_pCurrentThread ..
发布时间:2021-04-19 20:03:05 C/C++开发

QSerialPort-等待发件人的整个数据

我正在使用串行设备.QSerialPort在单独的线程中.线程是通过以下方式创建的: QThread * serialthread =新的QThread;序列*序列=新的Serial();serial-> moveToThread(serialthread); 当数据可用时,将在我的线程工作程序中发出此信号: void Serial :: process(){serialport =新 ..
发布时间:2021-04-19 19:34:04 C/C++开发

C ++ / Qt-QThread与QRunnable

QThreads和QRunnable有什么区别? 何时应使用QThread和QRunnable? 解决方案 QRunnable 类和 QtConcurrent :: run()函数是非常适合我们想要在一个或多个 辅助线程中执行某些后台处理而无需 QThread提供的全部功能和灵活性的情况。 摘自Mark Summerfield的“ 高级Qt编程:使用C ++和Qt 4创建出 ..
发布时间:2020-09-27 01:03:08 C/C++开发

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

假设我们在 QObject 派生类中编写了一个非常量方法: class MyClass:public QObject { int x; public: 无效方法(int a){ x = a; //和其他可能的东西 }; }; 我们要使该方法成为线程安全的:这意味着可以从任意线程以及从 Qt提供了哪些机制/ API来帮助我们使该方法成为线程- ..
发布时间:2020-09-26 21:18:16 C/C++开发