社区
Qt
帖子详情
Qt里面如何创建新的进程,并在里面执行任务(函数)
王桑的一天
2018-12-22 02:59:23
线程我们都知道, QThread, 写在run()里面。
但是我用的是PyQt, Python有GIL限制 ,所以想用进程并发执行一系列独立的任务,提高速度, 比如复制一堆文件,是可以并发执行的。
QProcess貌似不是干这个的?只能调用外程序?
在Qt中如何能起一个进程,在里面执行函数?或者有别的方法?
...全文
950
1
打赏
收藏
Qt里面如何创建新的进程,并在里面执行任务(函数)
线程我们都知道, QThread, 写在run()里面。 但是我用的是PyQt, Python有GIL限制 ,所以想用进程并发执行一系列独立的任务,提高速度, 比如复制一堆文件,是可以并发执行的。 QProcess貌似不是干这个的?只能调用外程序? 在Qt中如何能起一个进程,在里面执行函数?或者有别的方法?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
芒果黑
2018-12-24
打赏
举报
回复
感觉只能调用另外一个程序了
QT
中
进程
的
创建
本篇文章将带大家学习
QT
中
进程
的
创建
。QProcess类是
Qt
中用于启动和控制外部
进程
的类。它提供了一系列方法来
执行
外部命令、与
进程
进行交互,并获取
进程
的输出信息。下面是一些QProcess类的常用功能:1.启动
进程
:使用start()方法启动外部
进程
。可以设置要
执行
的程序路径和命令行参数,还可以设置工作目录和环境变量。2.
进程
状态:可以使用state()方法获取
进程
的当前状态,包括运行中、停止、完成等状态。还可以使用error()方法获取任何错误发生时的错误代码。
Qt
-
进程
1.
Qt
进程
2.
Qt
进程
通信-共享内存
Qt
进程
的
创建
及注意事项
以下介绍QProcess类在使用过程中的方法以及注意事项: QProcess的作用是在当前
进程
中
创建
一个
新
的
进程
,来调用外部程序处理完成一些
任务
而不影响本
进程
的继续
执行
,起用法如下: 1. 运用QProcess类
创建
新
进程
: QProcess proc = new QProcess(); 2. 链接
进程
退出时返回状态的槽
函数
: QObject::connect(proc, SIG
QT
中多线程槽
函数
在哪个线程中
执行
?
也是代码中注释掉的 moveToThread(this)所做的就是将整个 thread 类移到次线程中,去掉注释,你会发现slot在次线程中运行。可以看到,主线程id和slot_main()中的线程id是一样的,槽
函数
的线程和主线程是一样的!所以thread类中的slot_main()是在主线程
执行
,run()
函数
是在次线程
执行
。主线程(信号)
QT
hread(槽), 但由于没说槽
函数
是在主线程
执行
的,所以不少人都认为它应该是在次线程
执行
了。run
函数
中的代码时确定无疑要在次线程中运行的,那么其他的呢?
Qt
中将
函数
发送到主线程
执行
Qt
中将
函数
发送到主线程
执行
考虑这样一种需求,使用
Qt
的线程类
QT
hread在后台
执行
操作(比如说拷贝文件)的时候发生了错误,产生了一个错误信息需要提醒给用户,在后台输出很显然是不够的,因为用户可能根据就没有任何控制台可供程序输出信息。这是本人自己做得一个仿Win10文件拷贝对话框的一个文件拷贝对话框。 该问题纠结到根本是因为
Qt
的任何窗口代码都必须在主线程(也就是main
函数
所在的那个...
Qt
16,816
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章