当前位置: 首页 > news >正文

【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、总结

相关文章:

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

【QT 5 调试软件Linux下调用脚本shell-经验总结初步调试基础样例】 1、前言2、实验环境3、自我总结4、实验过程&#xff08;1&#xff09;准备工作-脚本1&#xff09;、准备工作-编写运行脚本文件2&#xff09;、给权限3&#xff09;、运行脚本 &#xff08;2&#xff09;进入q…...

使用 Goroutine 和 Channel 构建高并发程序

使用 Goroutine 和 Channel 构建高并发程序 文章目的与概要Golang 并发模型的重要性 Goroutine 和 Channel 的基础Goroutine&#xff1a;轻量级线程Channel&#xff1a;通信机制Goroutine 与 Channel 的协同工作 构建高并发模型的策略有效使用 Goroutine使用 Channel 进行数据传…...

大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类

大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类 过拟合&#xff0c;欠拟合 针对模型的拟合&#xff0c;这里引入两个概念&#xff1a;过拟合&#xff0c;欠拟合。 过拟合&#xff1a;在机器学习任务中&#xff0c;我们通常将数据集分为两部分&#xff1a;训…...

Lenovo联想拯救者Legion Y9000X 2021款(82BD)原装出厂Windows10系统

链接&#xff1a;https://pan.baidu.com/s/1GRTR7CAAQJdnh4tHbhQaDQ?pwdl42u 提取码&#xff1a;l42u 联想原厂WIN10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&am…...

pytorch中的transpose用法

注意&#xff1a;维数从0开始&#xff0c;0维 1维2维…,负数代表从右往左数&#xff0c;-1代表第一维&#xff0c;以此类推 import torch import numpy as np# 创建一个二维数组 arr torch.tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]]) print("原始数组&#xff1a;"…...

SpringBoot面试题及答案(最新50道大厂版,持续更新)

在准备Spring Boot相关的面试题时&#xff0c;我发现网络上的资源往往缺乏深度和全面性。为了帮助广大Java程序员更好地准备面试&#xff0c;我花费了大量时间进行研究和整理&#xff0c;形成了这套Spring Boot面试题大全。 这套题库不仅包含了一系列经典的Spring Boot面试题及…...

KUKA机器人如何隐藏程序或程序段?

KUKA机器人如何隐藏程序或程序段? 如下图所示,新建一个示例程序进行说明, 如下图所示,如果红框中的动作指令不想让别人看到,想隐藏起来,如何做到? 如下图所示,在想要隐藏的程序或程序段的前后,分别添加 ;fold 和 endfold指令(这里要注意是英文状态下的输入法), 如…...

C++ STL(1)--概述

1. 简述 STL即标准模板库 Standard Template Library&#xff0c;包含了许多在计算机科学领域里所常用的基本数据结构和算法。STL具有高可重用性、高性能、高可移植性(跨平台)的优点。 两个特点&#xff1a; 1.1 数据结构和算法分离。 1.2 它不是面向对象的&#xff0c;是基于模…...

unity 2d 入门 飞翔小鸟 死亡闪烁特效(十三)

一、c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Bling : MonoBehaviour {public Texture img;public float speed;public static bool changeWhite false;private float alpha0f;// Start is called before the fi…...

Cannot find cache named ‘‘ for Builder Redis

当引入 Redissson 时&#xff0c;springCache 缓存机制失效 原因&#xff1a;springCache 默认使用本地缓存 Redisson 使用redis 缓存 最后都转成redis了。。。 总感觉哪不对 两者居然不共存...

IntelliJ IDEA的下载安装配置步骤详解

引言 IntelliJ IDEA 是一款功能强大的集成开发环境&#xff0c;它具有许多优势&#xff0c;适用于各种开发过程。本文将介绍 IDEA 的主要优势&#xff0c;并提供详细的安装配置步骤。 介绍 IntelliJ IDEA&#xff08;以下简称 IDEA&#xff09;之所以被广泛使用&#xff0c;…...

光线追踪算法实现

我们已经涵盖了所有要说的内容&#xff01; 我们现在准备编写第一个光线追踪器。 你现在应该能够猜测光线追踪算法是如何工作的。 首先&#xff0c;请花点时间注意一下&#xff0c;光在自然界中的传播只是从光源发出的无数光线&#xff0c;它们四处反弹&#xff0c;直到到达我…...

学习深度强化学习---第3部分----RL蒙特卡罗相关算法

文章目录 3.1节 蒙特卡罗法简介3.2节 蒙特卡罗策略评估3.3节 蒙特卡罗强化学习3.4节 异策略蒙特卡罗法 本部分视频所在地址&#xff1a;深度强化学习的理论与实践 3.1节 蒙特卡罗法简介 在其他学科中的蒙特卡罗法是一种抽样的方法。 如果状态转移概率是已知的&#xff0c;则是…...

linux虚拟机使用81-persistent-net.rule后接口名依然改变的问题处理

测试环境:vmware workstation17 、oracle linux 7.8 1. 复位原有ifname 1)nmcli c s 查看管理的网卡 [rootrac2 ~]# nmcli c s NAME UUID TYPE DEVICE enp0s3 5b01a9de-9552-45da-a84a-1ae6c9506354…...

ARMV8 - A64 - 跳转和返回指令

说明 C语言等高级语言&#xff0c;根据是否需要返回到触发跳转代码的下一条代码&#xff0c;跳转有两种语句&#xff1a; 不需要返回&#xff0c;例如&#xff1a;if&#xff0c;goto&#xff0c;switch&#xff0c;while等语句。需要返回&#xff0c;例如&#xff1a;函数调…...

QX320F28335,自研内核指令集,主频150MHz,自研工具链,纯国产DSP,硬件兼容TMS320F28335

32位单核CPU 主频150MHz flash 1M SRAM 500KB 单精度浮点运算FPU 3个4M精度12位的ADC 12个ePWM 6个HRPWM&#xff08;150ps&#xff09;...

《使用ThinkPHP6开发项目》 - 登录接口一

《使用ThinkPHP6开发项目》 - 安装ThinkPHP框架-CSDN博客 《使用ThinkPHP6开发项目》 - 设置项目环境变量-CSDN博客 《使用ThinkPHP6开发项目》 - 项目使用多应用开发-CSDN博客 《使用ThinkPHP6开发项目》 - 创建应用-CSDN博客 《使用ThinkPHP6开发项目》 - 创建控制器-CSD…...

zabbix精简模板

一、监控项目介绍 linux自带得监控项目比较多&#xff0c;也不计较杂&#xff0c;很多监控项目用不到。所以这里要做一个比较精简得监控模版 二、监控模板克隆 1.搜索原模板 2.克隆模板 全克隆模板&#xff0c;这样就和原来原模板没有联系了&#xff0c;操作也不会影响原模…...

GO设计模式——14、代理模式(结构型)

目录 代理模式&#xff08;Proxy Pattern&#xff09; 代理模式的核心角色&#xff1a; 优缺点 使用场景 注意事项 代码实现 代理模式&#xff08;Proxy Pattern&#xff09; 代理模式&#xff08;Proxy Pattern&#xff09;通过引入代理对象来控制对真实对象的访问。 代…...

外贸SOHO建站怎么做?海洋建站方法策略?

外贸SOHO建站多少钱&#xff1f;外贸自助建站系统有哪些&#xff1f; 随着全球化的加速发展&#xff0c;外贸SOHO已经成为越来越多创业者的选择。然而&#xff0c;要想在竞争激烈的外贸市场中脱颖而出&#xff0c;一个专业的外贸网站是必不可少的。接下来海洋建站将探讨外贸SO…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...