QT交互界面:实现按钮运行脚本程序
一.所需运行的脚本
本篇采用上一篇文章的脚本为运行对象,实现按钮运行脚本
上一篇文章:从0到1:QT项目在Linux下生成可以双击运用的程序(采用脚本)-CSDN博客
二.调用脚本的代码
widget.cpp中添加以下代码
#include "widget.h"
#include "./ui_widget.h"
#include <QMessageBox>
#include <QProcess>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(ui->pushButton_test, &QPushButton::clicked, this, &Widget::on_pushButton_test_clicked);
}void Widget::on_pushButton_test_clicked()
{QString strCmd = "/home/popo/double_click_test/jiao";QProcess process;process.start("bash", QStringList() << "-c" << strCmd);if (process.waitForStarted()){qDebug() << "Process started successfully.";if (process.waitForFinished()){QByteArray result = process.readAllStandardOutput(); // 读取脚本的输出QByteArray error = process.readAllStandardError(); // 读取错误输出qDebug() << "Script output:" << result;qDebug() << "Script error output:" << error;}else{qWarning() << "Failed to execute script";}}else{qWarning() << "Failed to start script execution";}process.close();
}
三.代码解析
启动进程
process.start("bash", QStringList() << "-c" << strCmd);
检查进程是否成功启动
if (process.waitForStarted())
等待进程执行完成
再次使用 waitForFinished,等待进程执行完成。如果成功,返回 true。
进程提示信息
if (process.waitForStarted()){qDebug() << "Process started successfully.";if (process.waitForFinished()){QByteArray result = process.readAllStandardOutput(); // 读取脚本的输出QByteArray error = process.readAllStandardError(); // 读取错误输出qDebug() << "Script output:" << result;qDebug() << "Script error output:" << error;}else{qWarning() << "Failed to execute script";}}else{qWarning() << "Failed to start script execution";}
关闭进程
process.close();
四.效果展示

相关文章:
QT交互界面:实现按钮运行脚本程序
一.所需运行的脚本 本篇采用上一篇文章的脚本为运行对象,实现按钮运行脚本 上一篇文章:从0到1:QT项目在Linux下生成可以双击运用的程序(采用脚本)-CSDN博客 二.调用脚本的代码 widget.cpp中添加以下代码 #include &…...
驱动和芯片设计哪个难
驱动和芯片设计哪个难 芯片设计和驱动开发 芯片设计和驱动开发 都是具有挑战性的工作,它们各自有不同的难点和要求。 对于芯片设计,它是一个集高精尖于一体的复杂系统工程,涉及到从需求分析、前端设计、后端设计到流片的全过程。 芯片设计的…...
【云原生】云原生后端:监控与观察性
目录 引言一、监控的概念1.1 指标监控1.2 事件监控1.3 告警管理 二、观察性的定义三、实现监控与观察性的方法3.1 指标收集与监控3.2 日志管理3.3 性能分析 四、监控与观察性的最佳实践4.1 监控工具选择4.2 定期回顾与优化 结论参考资料 引言 在现代云原生架构中,监…...
在 ubuntu20.04 安装 docker
1、替换清华源 替换 sources.list 里面的内容 sudo vim /etc/apt/sources.list# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src htt…...
前端开发设计模式——观察者模式
目录 一、定义和特点 1. 定义 2. 特点 二、实现方式 1. 使用 JavaScript 实现观察者模式的基本结构 2. 实际应用中的实现示例 三、使用场景 1. 事件处理 2. 数据绑定 3. 异步通信 4. 组件通信 四、优点 1. 解耦和灵活性 2. 实时响应和数据一致性 3. 提高代码的可…...
永磁同步电机高性能控制算法(17)——无差拍预测转速控制
1.前言 前期写了比较多的关于无差拍预测电流控制的东西。 https://zhuanlan.zhihu.com/p/659205719https://zhuanlan.zhihu.com/p/659205719 https://zhuanlan.zhihu.com/p/660266190https://zhuanlan.zhihu.com/p/660266190 https://zhuanlan.zhihu.com/p/719591343https://z…...
【GIT】Visual Studio 中 Git 界面中, 重置 和 还原
在 Visual Studio 的 Git 界面中,“重置” 和 “还原” 是两个常用的 Git 操作。它们的主要区别在于应用场景和影响范围。 1. 重置(Reset) 重置用于更改当前分支的提交历史,通常用于撤销或删除某些提交。重置操作可能会更改 Git…...
开源一款前后端分离的企业级网站内容管理系统,支持站群管理、多平台静态化,多语言、全文检索的源码
大家好,我是一颗甜苞谷,今天分享一款前后端分离的企业级网站内容管理系统,支持站群管理、多平台静态化,多语言、全文检索的源码。 前言 在当今的数字化时代,企业网站和个人博客已成为信息传播和品牌建设的重要渠道。…...
【electron+vue3】使用JustAuth实现第三方登录(前后端完整版)
实现过程 去第三方平台拿到client-id和client-secret,并配置一个能够外网访问回调地址redirect-uri供第三方服务回调搭建后端服务,引入justauth-spring-boot-starter直接在配置文件中定义好第一步的三个参数,并提供获取登录页面的接口和回调…...
Amcor 如何借助 Liquid UI 实现SAP PM可靠性
背景介绍 安姆科是塑料行业的全球领军企业,该企业认识到 SAP 工厂维护(SAP PM)对于确保高效的维护管理的重要性。 在诸如制造业等高度依赖机械设备的行业中,SAP PM是一种通过数据驱动决策来最大限度减少停机时间、降低间接成本、…...
【Redis】常见基本全局命令
一、Redis俩大核心命令 由于Redis是以键值对的形式进行数据存取,自然就离不开不断的存储和获取,而其所对应的命令则是set和get,如此说来二者为Redis的核心基础命令也不为过。 作用:用于存储Stirng类型的数据 返回:当…...
探索国际数据空间(IDS)架构(上)
在当今数字化时代,数据的重要性日益凸显,而国际数据空间(IDS)作为一个新兴的概念,正逐渐成为数据管理和共享的关键领域。今天,我们就来一起探索一下 IDS 的精妙架构。 参考文章:国际数据空间&am…...
如何选择好用的U盘数据恢复软件免费版?2024年热门榜单有哪些?
U盘是我们用来存数据的小玩意儿,又方便又好用。但是,有时候因为不小心删掉了、格式化了或者中病毒了,U盘里的东西就没了,这可让人头疼。好在有很多免费的U盘数据恢复软件能帮我们找回这些丢失的数据。那怎么挑一个好用的免费数据恢…...
音视频入门基础:AAC专题(12)——FFmpeg源码中,解码AudioSpecificConfig的实现
音视频入门基础:AAC专题系列文章: 音视频入门基础:AAC专题(1)——AAC官方文档下载 音视频入门基础:AAC专题(2)——使用FFmpeg命令生成AAC裸流文件 音视频入门基础:AAC…...
UDP组播测试
支持组播的接口: ip a | grep MULTICAST 环回接口虽然显示不支持组播,实际也可以用于本地测试。 添加路由(非必须?): ip route add 239.0.0.0/24 via 10.10.10.206 dev eth0 开放防火墙: 查…...
【Nas】X-Doc:jellyfin“该客户端与媒体不兼容,服务器未发送兼容的媒体格式”问题解决方案
【Nas】X-Doc:jellyfin“该客户端与媒体不兼容,服务器未发送兼容的媒体格式”问题解决方案 当使用Jellyfin播放视频时出现“该客户端与媒体不兼容,服务器未发送兼容的媒体格式”,这是与硬件解码和ffmpeg设置有关系,具体…...
504 Gateway Time-outopenresty
504 Gateway Time-out openresty 问题背景: 当自己点开知乎页面以后,发现官网没有出现任何问题,点击官网以后开始出现各种各样的报错! 一下是来源ai的介绍:(通过搜索这种形式帮助自己进行记忆)…...
SpringBoot篇(自动装配原理)
目录 一、自动装配机制 1. 简介 2. 自动装配主要依靠三个核心的关键技术 3. run()方法加载启动类 4. 注解SpringBootApplication包含了多个注解 4.1 SpringBootConfiguration 4.2 ComponentScan 4.3 EnableAutoConfiguration 5. SpringBootApplication一共做了三件事 …...
《Web性能权威指南》-WebRTC-读书笔记
本文是《Web性能权威指南》第四部分——WebRTC的读书笔记。 第一部分——网络技术概览,请参考网络技术概览; 第二部分——无线网络性能,请参考无线网络性能; 第三部分——HTTP,请参考HTTP; 第四部分——浏览…...
跨境电商独立站:打造你的全球品牌
什么是跨境电商独立站? 跨境电商独立站是指一个独立的电子商务网站,企业可以通过这个网站直接向全球消费者销售产品。与入驻亚马逊、eBay等第三方平台不同,独立站拥有完全自主权,可以自由定制店铺风格、营销策略,并直…...
基于springboot的某学院勤工俭学岗位兼职平台设计与实现
目录 技术选型与架构设计核心功能模块划分数据库设计要点关键代码实现示例安全与权限控制测试与部署计划扩展性考虑 项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 技术选型与架构设计 后端采用SpringBoot框架,集…...
I-Lang SEO实战部署:用结构化协议让Google的AI爬虫读懂你的网页
前言: 我们用I-Lang的结构化方法论做SEO,一个全新的英文商业站,七天打进Google搜索第一页。这篇文章把具体方法公开。 一、前提:Google的爬虫已经是AI了 2024年之后,Google的搜索排名算法发生了根本性变化。Googlebot…...
java打卡学习3:ArrayList扩容机制
ArrayList扩容机制概述ArrayList是基于动态数组实现的集合类,当元素数量超过当前数组容量时,会自动触发扩容机制。其核心目的是平衡内存占用与性能开销。默认初始容量未指定初始容量时,默认创建一个空数组(JDK 1.8)&am…...
双模型灾备方案:OpenClaw同时配置百川2-13B-4bits与Llama3应对服务中断
双模型灾备方案:OpenClaw同时配置百川2-13B-4bits与Llama3应对服务中断 1. 为什么需要双模型灾备 去年冬天的一个深夜,我正在用OpenClaw自动处理一批技术文档的翻译任务。突然收到一连串报警通知——原本稳定运行的Qwen模型服务因为网络波动彻底失联。…...
【深度解析】DeepSeek API 悄然分叉:开发者该如何正确评估与接入最新大模型?
摘要 本文基于近期 DeepSeek API 更新及官方文档变更,从「API 版本 ≠ Web/App 版本」这一关键细节出发,梳理大模型多版本部署策略背后的技术与成本逻辑,并给出基于兼容 OpenAI 协议的实战接入示例(使用 claude‑sonnet‑4‑6&…...
3个步骤玩转虚拟手柄模拟:ViGEmBus驱动从入门到精通
3个步骤玩转虚拟手柄模拟:ViGEmBus驱动从入门到精通 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus Windows虚拟手柄驱动技术为游戏玩家和开发者…...
别再手动对齐了!Excel双坐标折线图保姆级教程,5分钟搞定销售与成本对比分析
Excel双坐标折线图实战:销售与成本可视化分析的进阶技巧 当市场专员小林第一次尝试将季度销售额(单位:万元)和成本率(单位:百分比)放在同一张图表时,她发现了一个尴尬的现象——代表…...
AI 辅助开发实战:基于低代码与智能生成的五金店管理系统毕设架构设计
最近在帮学弟学妹们看毕业设计,发现“五金店管理系统”是个高频选题。但很多人做着做着就陷入了“增删改查”的泥潭,前端界面简陋,业务逻辑也写得七零八落,最后答辩时演示效果平平,技术深度更是无从谈起。这让我开始思…...
具身智能:千亿赛道崛起、多元场景落地与数据标注协同发展
2025被称为“具身智能元年”! “具身智能” 也首次被写入中国《政府工作报告》,纳入国家战略规划,各地密集出台专项政策布局赛道。 数据标注作为具身智能涌现的核心基石,也同步完成了从劳动密集型向高技术专业化的范式升级。 具…...
DeepSeek-OCR 2技术突破:动态视觉token重排效果展示
DeepSeek-OCR 2技术突破:动态视觉token重排效果展示 1. 引言 想象一下,当你阅读一份复杂的学术论文时,眼睛不会机械地从左上角扫到右下角,而是会自然地跳过标题、关注图表、追踪公式推导,甚至在不同的文本栏之间灵活…...
