问题标签 [qthread]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 PyQt4 中保持活动线程
我有一个 PyQt4 应用程序,它有时会使用 tarfile 模块打包一个大文件。由于 tarfile 模块没有实现任何回调策略,它会阻塞并且 Qt GUI 变得无响应。
我希望 GUI 在此期间不断更新。唯一的可能是单独的线程。所以,我启动了一个 QThread。我必须在 QThread 中做什么才能使 GUI 自行更新?一旦 tar 过程完成,我希望线程完成。
谢谢!弥敦道
python - python QThread.run 参数 - 在版本之间更改?
在我的代码(python2.6,PyQt4)中,我做了这样的事情:
在我的 gentoo 机器上,这非常有效。在 ubunut(9.10,Karmic Koala)上它不起作用,它说:类型错误:myRun()不接受任何参数(给定 1)
QT有什么变化吗?我怎样才能在两台机器上完成这项工作?
谢谢!弥敦道
multithreading - 在现有的非 QT 线程中创建 QThread 事件循环
我的代码是主机软件的插件,处理时间有限。因此,我创建了第二个线程(通过系统 API)并在那里启动 QApplication。这样,GUI 运行顺畅。
现在,我想在原始文件中运行一个 QThread 事件循环,这样我就可以使用 Signal/Slot (Qt::QueuedConnection) 来调用主机软件中不是线程安全的函数。
有没有办法在不创建新线程的情况下创建这样的 QThread 事件循环?
谢谢!
memory - QThread 和读内存
我遇到过这样的问题。我有一个允许通过 UDP 进程间通信的库。这是非常直截了当的。该库创建可供其他进程写入和读取的共享内存。当进程想要读取感兴趣的内存时,它会传递一个字符串值,该字符串值唯一地指向相应的共享内存,并将指针传递给他希望接收读取结果的容器(字符数组)。库提供安全的多线程。
当线程离开 run() 例程时,我有一个异常。
例外:是访问冲突,它在
代码:
只有当我们允许时才会引发异常library->readFromSharedMemory(struct_name, memory);
。_freeptd
无法访问导致访问冲突的内存。
我需要一只手。提前谢谢。
qt - 调用 quit() 后清理 QThread
我有个问题。如果我调用 Abort(),运行函数将返回,而 complexMath 实例没有足够的时间进行清理。
我想要的是,在调用 Abort() 之后,complexMath 实例有足够的时间自行关闭,在返回之前清除所有挂起的信号和插槽(在 complexMath 内部,它也有自己的信号和插槽)。
谢谢!
c++ - 如何中断在 QThread 中运行的 select/pselect
我有一个 QThread,它从套接字读取并在有任何可用数据时发送信号(QT 信号)。阻塞读取(2)会很容易,但我需要能够从外部停止线程而无需等待太久。
如果我使用 pthread 我会使用 pselect 和pthread_kill(thread_id, some_signal)
,但 QThread 似乎没有任何类似的方法。并且在这个项目中添加对 pthread 的依赖似乎并不优雅。
我也不想使用其他丑陋的方法,例如不断尝试从套接字读取一些相对较小的超时。
编辑:套接字不是 TCP,而是蓝牙 L2CAP。
multithreading - 为什么从主线程调用插槽?
我有一个 Qt 应用程序,它有两个线程:处理 GUI 的主线程和管理网络连接的第二个线程。这是线程代码:
当我在应用程序的开头放置一个断点OnConnect()
并调试它时,它会宣布OnConnect()
正在从主线程调用它!
我怎样才能OnConnect()
在同一个线程中运行QTcpServer
?
python - 如何在我的 GUI 上绘图
我正在设计一个 GUI,PyQt
当我单击一个按钮时,我需要在其中显示一个 matplotlib/pylab 窗口,该按钮从我创建的函数中绘制数据图。它就像在 Matlab 中使用的运行时。每次按下该按钮时,我都想将 matplotlib/pylab 窗口保留为我的窗口。
c++ - QT:如何一次打开多个窗口(QWidgets)?
我正在做 web 界面测试程序,它应该同时在两个 webkit 窗口中打开两个 url。
我已经为测试自动化编写了代码。
1) 用户按下“Go”按钮并打开 webkit (QWidget) 窗口
2) TestBot 类对象执行测试
3) 关闭
现在我的问题是:单击“开始”按钮后,如何打开两个(或三个或更多)webkit (QWidget) 窗口,我的意思是,如何同时启动多个 TestBot 以便它们并行完成所有工作?
我明白,我需要查看多线程,我想我需要将 QThread 继承到我的 TestBot 类定义中作为“class TestBot:public QThread”,但这是正确的解决方案吗?我做对了吗?接下来要做什么?
我不能把代码写成:
让一切并行工作?
我是 Winapp 世界的新手,我来自 Web 编程。希望得到您的帮助!
qt4 - QThread 与 GUI 的交互
我正在开发图像采集软件。我想在单独的线程中运行显示功能(以确保实时取景以便于图像捕获)。现在我正在继承 QObject,创建 DisplayObject 并使用 QThread::moveToThread 函数。问题是 DisplayObject 必须与 GUI 交互(图像需要在 QGraphicsView 对象中显示)。最好(也是最优雅)的方法是什么?
我目前的解决方案:
DisplayObject 初始化如下:
我忘了承认,这行不通……