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

【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/bashecho "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.mzph.cn/news/220898.shtml

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

相关文章

pytorch一致数据增强

分割任务对 image 做&#xff08;某些&#xff09;transform 时&#xff0c;要对 label&#xff08;segmentation mask&#xff09;也做对应的 transform&#xff0c;如 Resize、RandomRotation 等。如果对 image、label 分别用 transform 处理一遍&#xff0c;则涉及随机操作的…

计算机网络网络层(期末、考研)

计算机网络总复习链接&#x1f517; 目录 路由算法静态路由与动态路由距离-向量算法链路状态路由算法层次路由 IPv4&#xff08;这个必考&#xff09;IPv4分组IPv4地址与NAT子网划分与子网掩码、CIDRARP、DHCP与ICMP地址解析协议ARP动态主机配置协议DHCP IPv6IPv6特点 路由协议…

android studio 创建按钮项目

1&#xff09;、新建一个empty activity项目&#xff0c;切换到project视图&#xff1a; 2&#xff09;、修改app\src\main\res\layout\activity_main.xml文件&#xff0c;修改后如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <andr…

html基础知识

1、文字阴影代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta http-eq…

Vue 工作开发小技巧

一、汇总 ​ 本博客&#xff0c;记录了一些Vue在日常开发工作中比较实用的小技巧&#xff0c;后续会陆续添加更新。 ​ 1、利用Sass的:global定义全局样式。 ​ 2、在<style>内部使用v-bind给CSS属性绑定属性值。 ​ 3、父子组件传值时&#xff0c;使用.sync修饰符后…

cgteamwork与shotgrid对比

最近有项目接触使用并二开cgteamwork&#xff0c; 也重新认识了cgteamwork&#xff0c;感受到国产软件的强大&#xff0c;国内中小CG公司的首选&#xff0c;原因&#xff1a; 1 上手容易&#xff0c;不会的有售前工程师教&#xff0c;他们全国各地城市到处跑。 感概业务的强大…

智能优化算法应用:基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于生物地理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.生物地理学算法4.实验参数设定5.算法…

Visual studio+Qt开发环境搭建以及注意事项和打开qt的.pro项目

下载qt-然后安装5.14.2_msvc2017 不知道安装那个就全选5.14.2的父级按钮 https://download.qt.io/archive/qt/5.14/5.14.2/ 安装Visual studio,下载直接下一步就行 配置Visual studio的qt环境 在线安装-重启Visual studio会自动安装 离线安装-关闭Visual studio点击安装 关闭…

桂电|《操作系统》实验一:UNIX/LINUX及其使用环境(实验报告)

桂林电子科技大学2023-2024学年 第 一 学期 操作系统A 实验报告 实验名称 实验一 UNIX/LINUX及其使用环境 实验指导老师&#xff1a; 成绩 院 系 计算机与信息安全学院 专业 计算机科学与技术(卓越工程) 学 号 姓名 课内序…

Spring Boot+FreeMarker=打造高效Web应用

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Spring BootFreeMarker的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一. FreeMarker是什么 二…

本地连锁门店经营可以借助系统实现哪些功能?

不少的连锁门店目前还是很基础的ERPPOS收银&#xff0c;其他的还是走传统的手工管理&#xff0c;大多连锁老板知道借助信息化系统可以帮助门店实现精细化管理&#xff0c;提高运营效率&#xff0c;降低成本&#xff0c;增强竞争力&#xff0c;但不知道怎么去做&#xff0c;能做…

每日汇评:黄金需要突破2050美元的供应区域才能延续复苏

周四早间&#xff0c;金价接近每盎司2,030美元&#xff0c;创下6天来的最高水平&#xff1b; 美联储确认鸽派政策转向&#xff0c;美元和美国国债收益率双双下挫&#xff1b; 英国央行和欧洲央行2023年的最终政策公告可能会进一步推高金价&#xff1b; 随着投资者重新评估美联储…

2020年第九届数学建模国际赛小美赛C题亚马逊野火解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 C题 亚马逊野火 原题再现&#xff1a; 野火是指发生在乡村或荒野地区的可燃植被中的任何不受控制的火灾。这样的环境过程对人类生活有着重大的影响。因此&#xff0c;对这一现象进行建模&#xff0c;特别是对其空间发生和扩展进行建模&…

0x13 链表与邻接表

0x13 链表与邻接表 数组是一种支持随机访问&#xff0c;但不支持在任意位置插入和删除元素的数据结构。与之相对应&#xff0c;链表支持在任意位置插入或删除元素&#xff0c;但只能按顺序依次访问其中元素。我们可以使用一个struct来表示链表的节点&#xff0c;其中可以存储任…

《师兄啊师兄》第二季开播 李长寿渡劫归来扬名四海

看新国风&#xff0c;上优酷动漫&#xff01;由优酷出品&#xff0c;玄机科技制作&#xff0c;改编自阅文集团旗下起点读书小说《我师兄实在太稳健了》&#xff08;作者&#xff1a;言归正传&#xff09;的修仙喜剧动画《师兄啊师兄》第二季《海神扬名篇》于今日10:00正式回归。…

如何性能测试中进行业务验证?

在性能测试过程中&#xff0c;验证HTTP code和响应业务code码是比较基础的&#xff0c;但是在一些业务中&#xff0c;这些参数并不能保证接口正常响应了&#xff0c;很可能返回了错误信息&#xff0c;所以这个时候对接口进行业务验证就尤其重要。下面分享一个对某个资源进行业务…

Python多线程threading的使用方法

前言 有时候&#xff0c;我们在编写Python程序时&#xff0c;会遇到比较耗时的函数方法&#xff0c;我们的需求是等这个耗时的函数执行完毕之后&#xff0c;在执行后面的程序&#xff0c;这时候就需要用到多进程。 下面我们来举一个使用多进程threading的例子 例子 import t…

Unity | AVpro的最基础使用方法(视频播放插件)

一、 AVpro的使用方法 (一)准备播放器MediaPlayer 1. AVpro的播放器是MediaPlayer&#xff0c;在Heirarchy面板里创建 2.播放器里放视频 a.把视频放到StreamingAssets文件夹下 b.你就可以在MediaPlayer里面找到这个视频 c.选中以后&#xff0c;就会变成 这里点击播放可以播放…

FET偏置控制器电路的卫星接收器LNB电路

都具有FET偏置控制器电路的卫星接收器LNB电路 芯片的描述&#xff1a;D3211是一-块用于卫星接收LNBs的专用电路&#xff0c;具有极化电压检测切换、22KHz脉冲检测切换和提供高放、本振级GaAs或HEMT FET晶体管工作点偏置等功能。D321 1内部的22K检测及切换控制由22K有源滤波器、…

RT-DETR改进《目标对象计数》多任务实验:深度集成版来了!支持自定义数据集训练自定义模型

💡该教程为改进RT-DETR专栏,属于《芒果书》📚系列,包含大量的原创改进方式🚀 💡🚀🚀🚀内含改进源代码 按步骤操作运行改进后的代码即可💡更方便的统计更多实验数据,方便写作 RT-DETR改进《目标对象计数》多任务实验:深度集成版来了!支持自定义数据集训练…