问题标签 [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.

0 投票
1 回答
608 浏览

python - 在 PyQt4 中保持活动线程

我有一个 PyQt4 应用程序,它有时会使用 tarfile 模块打包一个大文件。由于 tarfile 模块没有实现任何回调策略,它会阻塞并且 Qt GUI 变得无响应。

我希望 GUI 在此期间不断更新。唯一的可能是单独的线程。所以,我启动了一个 QThread。我必须在 QThread 中做什么才能使 GUI 自行更新?一旦 tar 过程完成,我希望线程完成。

谢谢!弥敦道

0 投票
1 回答
1022 浏览

python - python QThread.run 参数 - 在版本之间更改?

在我的代码(python2.6,PyQt4)中,我做了这样的事情:

在我的 gentoo 机器上,这非常有效。在 ubunut(9.10,Karmic Koala)上它不起作用,它说:类型错误:myRun()不接受任何参数(给定 1)

QT有什么变化吗?我怎样才能在两台机器上完成这项工作?

谢谢!弥敦道

0 投票
1 回答
1390 浏览

multithreading - 在现有的非 QT 线程中创建 QThread 事件循环

我的代码是主机软件的插件,处理时间有限。因此,我创建了第二个线程(通过系统 API)并在那里启动 QApplication。这样,GUI 运行顺畅。

现在,我想在原始文件中运行一个 QThread 事件循环,这样我就可以使用 Signal/Slot (Qt::QueuedConnection) 来调用主机软件中不是线程安全的函数。

有没有办法在不创建新线程的情况下创建这样的 QThread 事件循环?

谢谢!

0 投票
2 回答
563 浏览

memory - QThread 和读内存

我遇到过这样的问题。我有一个允许通过 UDP 进程间通信的库。这是非常直截了当的。该库创建可供其他进程写入和读取的共享内存。当进程想要读取感兴趣的内存时,它会传递一个字符串值,该字符串值唯一地指向相应的共享内存,并将指针传递给他希望接收读取结果的容器(字符数组)。库提供安全的多线程。

当线程离开 run() 例程时,我有一个异常。

例外:是访问冲突,它在

代码:

只有当我们允许时才会引发异常library->readFromSharedMemory(struct_name, memory);_freeptd无法访问导致访问冲突的内存。

我需要一只手。提前谢谢。

0 投票
1 回答
1646 浏览

qt - 调用 quit() 后清理 QThread

我有个问题。如果我调用 Abort(),运行函数将返回,而 complexMath 实例没有足够的时间进行清理。

我想要的是,在调用 Abort() 之后,complexMath 实例有足够的时间自行关闭,在返回之前清除所有挂起的信号和插槽(在 complexMath 内部,它也有自己的信号和插槽)。

谢谢!

0 投票
3 回答
1443 浏览

c++ - 如何中断在 QThread 中运行的 select/pselect

我有一个 QThread,它从套接字读取并在有任何可用数据时发送信号(QT 信号)。阻塞读取(2)会很容易,但我需要能够从外部停止线程而无需等待太久。

如果我使用 pthread 我会使用 pselect 和pthread_kill(thread_id, some_signal),但 QThread 似乎没有任何类似的方法。并且在这个项目中添加对 pthread 的依赖似乎并不优雅。

我也不想使用其他丑陋的方法,例如不断尝试从套接字读取一些相对较小的超时。

编辑:套接字不是 TCP,而是蓝牙 L2CAP。

0 投票
2 回答
260 浏览

multithreading - 为什么从主线程调用插槽?

我有一个 Qt 应用程序,它有两个线程:处理 GUI 的主线程和管理网络连接的第二个线程。这是线程代码:

当我在应用程序的开头放置一个断点OnConnect()并调试它时,它会宣布OnConnect()正在从主线程调用它!

我怎样才能OnConnect()在同一个线程中运行QTcpServer

0 投票
5 回答
32949 浏览

python - 如何在我的 GUI 上绘图

我正在设计一个 GUI,PyQt当我单击一个按钮时,我需要在其中显示一个 matplotlib/pylab 窗口,该按钮从我创建的函数中绘制数据图。它就像在 Matlab 中使用的运行时。每次按下该按钮时,我都想将 matplotlib/pylab 窗口保留为我的窗口。

0 投票
2 回答
4278 浏览

c++ - QT:如何一次打开多个窗口(QWidgets)?

我正在做 web 界面测试程序,它应该同时在两个 webkit 窗口中打开两个 url。

我已经为测试自动化编写了代码。

1) 用户按下“Go”按钮并打开 webkit (QWidget) 窗口

2) TestBot 类对象执行测试

3) 关闭

现在我的问题是:单击“开始”按钮后,如何打开两个(或三个或更多)webkit (QWidget) 窗口,我的意思是,如何同时启动多个 TestBot 以便它们并行完成所有工作?

我明白,我需要查看多线程,我想我需要将 QThread 继承到我的 TestBot 类定义中作为“class TestBot:public QThread”,但这是正确的解决方案吗?我做对了吗?接下来要做什么?

我不能把代码写成:

让一切并行工作?

我是 Winapp 世界的新手,我来自 Web 编程。希望得到您的帮助!

0 投票
2 回答
1955 浏览

qt4 - QThread 与 GUI 的交互

我正在开发图像采集软件。我想在单独的线程中运行显示功能(以确保实时取景以便于图像捕获)。现在我正在继承 QObject,创建 DisplayObject 并使用 QThread::moveToThread 函数。问题是 DisplayObject 必须与 GUI 交互(图像需要在 QGraphicsView 对象中显示)。最好(也是最优雅)的方法是什么?

我目前的解决方案:

DisplayObject 初始化如下:

我忘了承认,这行不通……