【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】

news2024/12/27 12:08:25

【QT 5 调试软件+Linux下调用脚本shell-经验总结+初步调试+基础样例】

  • 1、前言
  • 2、实验环境
  • 3、自我总结
  • 4、实验过程
    • (1)准备工作-脚本
      • 1)、准备工作-编写运行脚本文件
      • 2)、给权限
      • 3)、运行脚本
    • (2)进入qt部分代码
      • 1)、新建空白工程
      • 2)、1、debug调试代码
        • 0.核心代码段
      • 2)、2、界面调试代码
        • 1.提供路径
        • 2.提供文件名
      • 3)、加入布局部分
  • 5、代码链接
  • 6、细节部分
    • 1、ui->无调出编辑框ID
  • 7、总结

1、前言

最近要Linux下做相关软件开发了,还要当自己为新手,本着求知求学的心态,再简单的事情,也要好像学习,一面一些不该犯的错误犯了,另外也是趟一些雷,不害怕出错误,哪怕碰到最简单的错误也要好好总结下。
既然都到Linux 下,使用上位机调用脚本肯定要有的,本次也将简单使用一个简单样例来进行说明。

2、实验环境

实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:
环境问题还是要注意下的,不同环境下可能还真的可能不一样。
在这里插入图片描述

QT软件版本:qt 5.14.2

3、自我总结

(1)一步一步按照顺序来,切不可心急,直接使用qt调试
我们调试软件,不能太心急,否则可能反而都不实现不了。
所以我们在实现前,要现在终端上,先实现相关功能,在使用qt调用,这样才能保证问题分离。

(2)调用脚本使用QProcess类
和之前烧写工具一样,调用脚本也是用process类,确定脚本路线,然后调用。

(3)一些基础工具使用
好长时间,没在Linux下弄东西了,想编写脚本,突然忘记了,连基础的vim都想不起来,所以也算复习下吧

vim xxx.sh
  • Vi 是早期Unix系统中的标准文本编辑器。
  • Vim(Vi IMproved)是Vi的升级版,拥有更多特性,如语法高亮、代码折叠、插件系统等。它在Linux社区中非常受欢迎,尤其是在程序员和系统管理员中。
  • Nano 是一个更友好的文本编辑器,操作简单,易于上手,尤其适合那些不太熟悉命令行编辑器的用户。
  • Emacs 是一个高度可定制的文本编辑器,功能强大,但学习曲线相对较陡。它不仅仅是一个文本编辑器,还可以通过扩展变成一个完整的工作环境。

这些编辑器都是通过命令行界面(CLI)访问的,没有图形用户界面(GUI),但它们非常强大和灵活,尤其是在处理文本文件、编程和脚本编写方面。对于新手来说,Nano可能是最容易上手的,而Vim和Emacs则提供了更多高级功能,但需要一定时间来学习和适应。

4、实验过程

(1)准备工作-脚本

使用指令新建一个脚本文件

1)、准备工作-编写运行脚本文件

vim simp1.sh

编写内容如下

#!/bin/bash

echo "hello from script!"


在这里插入图片描述
然后退出,这里不具体说明VIM工具怎么用了。

2)、给权限

//这一步不可缺少
chmod +x simp1.sh 

3)、运行脚本

然后运行脚本.,注意此步骤和qt一点关系没有,是先保证自己脚本能运行

./simp1.sh

如果没有什么问题,就可以看到如下内容了。在这里插入图片描述

(2)进入qt部分代码

上边成功后,我们就可以进入qt部分了。

1)、新建空白工程

在如下这篇文章里,我们安装了软件,并且简单建立一个工程。首次实现了在Linux下运行第一个dome。
【Linux20.04-qt5.12.4软件安装与初步使用-qt在Linux使用-记录-笔记】

这块就不重复造轮了,看看上边文章吧,最后效果,是有个空白项目。
在这里插入图片描述

2)、1、debug调试代码

核心代码如下,就是使用process类。

0.核心代码段
void MainWindow::QProcess_test_shell(void)
{


       QProcess process;
       // 设置脚本执行的工作目录,如果脚本不在当前目录,需要指定完整路径
       process.setWorkingDirectory("/home/wjl/Desktop/qt_work/Linux_test_shell");

       // 连接信号以获取脚本的输出
       QObject::connect(&process, &QProcess::readyReadStandardOutput, [&]() {
           QString info=process.readAllStandardOutput();
           ui->textEdit->setText(info);
           qDebug() << info;
       });

       // 启动脚本
       process.start("./simp1.sh");

       // 等待脚本执行完成
       process.waitForFinished();


}

我们先在debug终端里调试,当然这样做只是方便。

在这里插入图片描述

2)、2、界面调试代码

1.提供路径

如下如果不知道自己动文件在哪里的话,可以使用终端输入指令来查询

pwd

在这里插入图片描述然后放在如下代码里

在这里插入图片描述

2.提供文件名

使用相关指令查看目录下有什么文件,然后填进去

ls

在这里插入图片描述

3)、加入布局部分

加入布局,一个处罚,一个收信息
在这里插入图片描述
简单拉个上下,可以拖动
在这里插入图片描述
然后转到信号槽
在这里插入图片描述
将之前运行函数放在 按下里
在这里插入图片描述### 4、效果验证

在这里插入图片描述

5、代码链接

代码链接:https://download.csdn.net/download/qq_22146161/88625631

6、细节部分

1、ui->无调出编辑框ID

如下在调试的时候,没注意,直接想通过“”“->”调出编辑框的ID,发现不行,其实就是忘记保存了。

在这里插入图片描述
或者布玩局后,先运行下。
在这里插入图片描述
之后就可以了
在这里插入图片描述

7、总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1306890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊测评如何安全有效地进行?完整攻略解读

亚马逊测评一直是许多亚马逊卖家快速了解市场、获得评论和提高销售的方法之一。与此同时&#xff0c;亚马逊官方对测评的控制也越来越严格。测评越来越困难&#xff0c;如果操作不当&#xff0c;可能会导致账户被禁等严重后果。 因此&#xff0c;如何安全有效地测评亚马逊已经成…

防职业掉坑必看,电商设计主要做什么?

今年双十一刚结束&#xff0c;各电商平台不公布总销售额的新闻就上了热搜。外行人乍一看可能觉得消费意愿下降&#xff0c;消费水平降级&#xff0c;电商行业不景气&#xff0c;但实际上电商领域在国内突飞猛进了10几年后&#xff0c;仍然还有很大的上升空间。很多人说&#xf…

解决高风险代码(含前后端):Insecure Randomness

Abstract 标准的伪随机数值生成器不能抵挡各种加密攻击 Explanation 在对安全性要求较高的环境中&#xff0c;使用能够生成可预测值的函数作为随机数据源&#xff0c;会产生 Insecure Randomness 错误。 电脑是一种具有确定性的机器&#xff0c;因此不可能产生真正的随机性。伪…

招不到人?用C语言采集系统批量采集简历

虽说现在大环境不太好&#xff0c;很多人面临着失业再就业风险&#xff0c;包括企业则面临着招人人&#xff0c;找对口专业难得问题。想要找到适合自己公司的人员&#xff0c;还要得通过爬虫获取筛选简历才能从茫茫人海中找到公司得力干将。废话不多说&#xff0c;直接开整。 1…

汽车底盘市场分析:预计到2025年平均渗透率达到35%

汽车底盘由传动系、行驶系、转向系和制动系四部分组成。底盘作用是支承、安装汽车发动机及其各部件、总成&#xff0c;形成汽车的整体造型&#xff0c;并接受发动机的动力&#xff0c;使汽车产生运动&#xff0c;保证正常行驶。汽车底盘容易产生故障的部位主要集中在&#xff1…

如何本地搭建WampServer并结合cpolar内网穿透实现远程访问

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境&#xff0c;是一组常用来…

聚观早报 |小鹏P7i推出限时福利;荣耀90 GT外观曝光

【聚观365】12月13日消息 小鹏P7i推出限时福利 荣耀90 GT外观曝光 小米14 Ultra春节后登场 苹果新一代iPad Air将搭载M2芯片 Rambus发布内存控制器IP 小鹏P7i推出限时福利 小鹏汽车将旗下智驾主力车型P7i全系车型开启限时购车优惠政策&#xff0c;用户下定小鹏P7i即可享受…

医保电子凭证在项目中的集成应用

随着医保电子凭证使用普及&#xff0c;医疗行业的各个场景都要求支持医保码一码通办&#xff0c;在此分享一下&#xff0c;在C#和js中集成医保电子凭证的demo 供有需要的小伙伴参考。 一、项目效果图 在c#中集成医保电子凭证效果 在js中集成医保电子凭证效果 二、主要代码 c#…

【干货分享】KingIOServer与三菱PLC的通讯的应用案例

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 最近一个项目涉及用KingIOServer采集三菱PLC数据&#xff0c;特记录通讯过程方便备忘。 一、版本说明&#xff1a; 1、KingIOServer版本&#xff1a;3.7SP2 2、PLC型号&#xff1a;Q03UDV 和Q03UDE自带以太网网口。…

阿里云国际跨境直播解决方案,视频AI创新营销模式丰富直播场景

据第三方咨询公司iiMedia Research预测&#xff0c;2017-2020年&#xff0c;视频直播行业一直处于高速发展阶段。2020年&#xff0c;视频直播行业市场收入超1万亿元&#xff0c;累计覆盖用户5.26亿。 视频直播的应用范围已从视频娱乐、电子商务等泛互联网行业扩展到在线教育、…

docker安装rabbitmq并安装死信队列插件

环境 debian11 docker 20.10.22 rabbitmq 3.10.0 拉取镜像到本地 docker pull rabbitmq3.10.0 实例化 docker run -d --name rabbit -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:…

如何利用淘宝商品详情关键词搜索电商API接口,实现个人收藏的梦想?

随着互联网的快速发展&#xff0c;电子商务市场越来越繁荣&#xff0c;个人收藏爱好者面临着越来越多的商品选择。如何能够高效地找到自己心仪的商品成为了让这一群体头疼的问题。而淘宝商品详情关键词搜索电商API接口的出现&#xff0c;联讯数据为个人实现收藏梦想提供了全新的…

ISP去噪(1)

#灵感# 因为理解的2DNR、3DNR 和当前调试平台标注的2DNR、3DNR 作用有很大差异&#xff0c;所以在网上广撒网&#xff0c;搜集知识。 目前收集出来一个这样的文章&#xff0c;有点像大学生的论文“取其精华&#xff0c;合成糟粕”。------权当一个记录册 目录 运动阈值&…

创建第一个Vue2项目-----HelloWorld

创建第一个Vue项目 第一步先去安装Vue&#xff0c;一共有两种安装方式&#xff0c;这里使用 点击这里下载&#xff1a;Vue.js 添加到自己的项目中 在使用的页面引入<script src"../js/vue.js"></script> 2. 准备好一个容器 <div id"root&qu…

迪拜义乌中国小商品城,开启中东区域展贸新商机

迪拜义乌中国小商品城&#xff0c;一颗璀璨的批发市场新星&#xff0c;正在迪拜杰贝阿里自贸区内冉冉升起。      在全球格局巨变的背景下&#xff0c;阿联酋与欧美货币深度绑定&#xff0c;同时又积极加入金砖国家集团&#xff0c;与发展中国家的经济不断融合。而作为国际…

微信小程序---wxs脚本

WXS&#xff08;WeiXin Script&#xff09;是小程序的一套脚本语言&#xff0c;结合 WXML&#xff0c;可以构建出页面的结构。 WXS 与 JavaScript 是不同的语言&#xff0c;有自己的语法&#xff0c;并不和 JavaScript 一致。 1.wxs和JavaScript的区别 2.wxs脚本基础语法 &a…

uniapp+vite+ts+express踩坑总结

1 关于引入express包报 import express from "express"; ^^^^^^ SyntaxError: Cannot use import statement outside a module的问题。 解决方案&#xff1a; 在package.json中添加type&#xff1a;“module”选项 2 Response is a type and must be imported …

崩坏:星穹铁道【V1.5攻略】五星(金)-遗器主、副词条成长数值参考

星穹铁道中五星遗器词条成长数值攻略&#xff1a; 温馨提示&#xff1a;以下数据会可能会出现一点一点误差&#xff0c;见谅... --------------------------- 一、如图&#xff1a; ----->>细节补充<<----- ①实际数值可能与游戏中不一&#xff0c;若数据出现无法忽…

【BigDecimal类—常用API系列】解决java浮点计算精度损失问题

文章目录 Java浮点计算精度损失问题BigDecimal进行精确运算的解决方案 Java浮点计算精度损失问题 BigDecimal它是干什么用的呢&#xff1f;什么是java浮点计算精度损失问题&#xff1f;我们先看一段代码&#xff0c;看这个代码有什么问题&#xff1f;再说BigDeimal这个类是干什…