QtUI界面被QProcess阻塞(已解决)

文章讲述了在Qt环境下,如何创建一个等待界面并在用户选择后执行QProcess进行文件打包。作者使用QProcess的start()方法异步执行命令,同时展示了一个加载动画的等待界面,并通过waitForFinished(-1)确保命令执行完成。遇到的问题是界面卡死,解决方案是将QProcess调用放到单独的线程中,通过QtConcurrent::run解决。

在Qt开发中经常会使用到一个等待界面,很巧,这周开发就遇到了,思索了半天,还是问问度娘,网上的答案很乱。浅浅记录一下

首先我制作了一个按钮,按下按钮的时候会有一个弹窗选择,如果选择“YES”就往下执行等待画面,在等待中我得在Linux下打包指定的文件到指定目录。这里我用的是QProcess来操作。

打包用到的命令:tar -czf  路径/文件名.tgz  目标文件

现在我们来制作一个简单的UI界面

 UI制作Ok,只需要把gif图片Setmovie到QLabel上就行,封装起来随时调用。

QMovie *pMovie = new QMovie(":/image/Image/loading.gif");
    ui->loadingLab->setFixedSize(50, 50);//调整大小放进Gif
    ui->loadingLab->setScaledContents(true);//自适应窗口大小
    ui->loadingLab->setMovie(pMovie);//将动画设置到QLabel中
    pMovie->start();//启动
    setWindowModality(Qt::ApplicationModal);//模态化
    setWindowFlags(Qt:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值