关于QTcreator,19年大学时写的文章了,之前写在印象笔记现在拉过来,往事如烟呐

1.初来乍到,先按照书本写一个基础列程理解一下原理。

这里创建工程的时候选择Qdialog基类,dialog.h头文件,并且勾选了创建界面
(勾选之后可以通过手动添加组块并且可以自生成他们的函数定义,如果没有勾选,就是默认选择手动代码编辑界面)

在左方Design选择喜欢的组块功能编辑:对PushButton进行功能编辑,右键选择Go to slot, 进入代码编辑状态
在这里插入图片描述

此时会自动产生一个函数,需要自己去编辑,想要回到原来的图形编辑状态,可以鼠标双击左边目录中的dialog.ui文件。

2.常用函数

在这里插入图片描述

1.connect函数
connect(小明,SIGNAL(valuechanged(int)),小黄,SLOT(setvalue(int)));
当小明(信号)发生变化(这里为监控valuechanged),小黄(槽),进行反应(这里是进行数据变动setvalue)。
2.
mainLayout->setMargin(30); //表示控件与窗体的左右边距
mainLayout->setSpacing(40); //表示各个控件之间的上下间距

3.当选择dialog的手动编辑界面时候,

如果定义了函数,可以通过右键快速向.cpp文件中添加定义。(如图所示)
在这里插入图片描述在这里插入图片描述
主要代码行数解析
14.设置mFindBtn为低亮(不可点击)状态
18.当mLineEdit有textChanged信号输入的时候,this(代表当前),onEnableFindBtn()函数执行,即高亮状态(可点击),估计onEnableFindBtn()编写为mFindBtn->setEnabled(enable);

4.通过点击界面启动ROS中启动.launch或者节点

system(“gnome-terminal -x bash -c 'source ~/Handcar_ws/devel/setup.bash; rosrun socket_ros socket_ros_node '&”);
5.关于显示中文出现乱码的问题

一般情况下我们对一个label设置文本属性的sh时候会ui->setText(“你好”);

然而下载到ARM开发平台上显示的时候却是乱码,原因是没有使用中文字符集,只要改成:

ui->setText(QString::fromUtf8(“你好”));即可正常显示
在这里插入图片描述
6.关于在父窗口中点击图标实现弹出新的消息对话框
首先添加inputdlg.h头文件
InputDlg *inputDlg;//添加实现对话框的类
void showInputDlg();
connect(a,SIGNAL(clicked()),this,SLOT(showInputDlg()));//事件关联
void Dialog(这是你编写槽函数的文件名)::showInputDlg()//槽函数实现
{

}
7.关于在UI界面修改点击的图标形状,利用fontawesome图标库
这是fontawesome的图标/代码对应网站,可以找到想要的图标添加进去
http://www.bootcss.com/p/font-awesome/design.html

如图所示,在我所使用的Uidemo界面工程下的image文件夹中,添加了fontawesome.ttf文件,添加了这个文件之后就可以使用其中的图标了。
在这里插入图片描述
应用实例

如上图所示,0xf031(一个A字图标)图标对应的是“启动RVIZ”这一栏
在这里插入图片描述
8.Qt重装
ubuntu16.04下通过sudo apt安装的qtcreator是默认4.8的,4版本和5版本不尽相同
download.qt.io/archive/qt/
这是下载地址,首先用sudo apt-get remove qtcreator把原来的QT删除掉,再下载就行了
9.关于QT5.12版本无法输入中文的问题
此链接完美解决https://blog.csdn.net/amusi1994/article/details/78147696
10.QT的不同主机的socket通信
客户端

我在connect中用click发生上面这个槽函数
socket->connectToHost(_ip,_port);
这是连接函数;
QT

10.通过新打开的终端关闭已打开的终端
既然有通过socket开启不同主机进程的功能,那么当然要设置远程关闭的功能
:通过新终端关闭之前打开的正在运行的终端
这时候请观看关于linux下杀死进程的方法大全
https://blog.csdn.net/andy572633/article/details/7211546
其中比较方便使用的一种方法如下 在这里插入图片描述
11.QT socket通信
(client)
主是发送数据的部分
一开始的时候没有写 socket=new QTcpSocket(this);创建套接字对象,出现了发送数据后界面闪退的情况。

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

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

相关文章

聊天页面样式

聊天页面样式 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><link rel"styleshee…

C++程序员笔试训练

面试题1&#xff1a;使用库函数将数字转换位字符串 考点&#xff1a;c语言库函数中数字转换位字符串的使用 char *gcvt(double number, int ndigit, char *buf);参数说明&#xff1a; number&#xff1a;待转换的double类型数值。 ndigit&#xff1a;保留的小数位数。 buf&am…

数智教育创新如何向未来?腾讯云与你探索革新之路

引言 随着科技革命的快速发展&#xff0c;掀起教育领域的变革&#xff0c;新理念、新技术、新模式、新应用正不断涌现&#xff0c;正塑造着教育的未来形态。未来科技还将如何赋能教育创新&#xff1f; 5月31日&#xff0c;由腾讯云TVP 与西安电子科技大学联合举办的「数智教育的…

LC1020:飞地的数量

题目 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻&#xff08;上、下、左、右&#xff09;的陆地单元格或跨过 grid 的边界。 返回网格中 无法 在任意次数的移动…

C++访问Private,Protecd的一些方法总结

前言 在编写C程序中 我们偶尔会碰到这样的三种特殊修改变量值的需求&#xff1a; [1]在不修改类原本的实现下&#xff0c;访问修改类的Private变量 [2]在不修改类原本的实现下&#xff0c;修改类的Protected变量 Private变量访问 public类模版函数特化 这种办法利用了类模…

CMS与AI的融合:构建万能表单小程序系统

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;MyCMS作为一款功能强大的内容管理系统&#xff0c;通过集成AI技术&#xff0c;进一步拓展了其应用范围和智能化水平。本文将探讨如何利用MyCMS结合AI技术&#xff0c;构建一个能够将用户提交的万能表单数据转化为智能提…

【Ardiuno】实验使用ESP32单片机根据光线变化控制LED小灯开关(图文)

今天小飞鱼继续来实验ESP32的开发&#xff0c;这里使用关敏电阻来配合ESP32做一个我们平常接触比较多的根据光线变化开关灯的实验。当白天时有太阳光&#xff0c;则把小灯关闭&#xff1b;当光线不好或者黑天时&#xff0c;自动打开小灯。 int value;void setup() {pinMode(34…

前端老古董execCommand——操作 选中文本 样式

文章目录 ⭐前言⭐exe command api用法&#x1f496; example示例&#x1f496; 测试效果 ⭐execommand和getSelection 的联系⭐总结⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于 前端老古董execCommand——操作选中文本。 execommand 当一个 HTML 文…

基于CentOS Stream 9平台安装Redis7.0.15

1. 官方下载地址 https://redis.io/downloads/#redis-downloads 1.1 下载或上传到/opt/coisini目录下&#xff1a; mkdir /opt/coisini cd /opt/coisini wget https://download.redis.io/releases/redis-7.0.15.tar.gz2. 解压 tar -zxvf redis-7.0.15.tar.gz 3. 创建软连接 或…

算法:分治(快排)题目练习

目录 题目一&#xff1a;颜色分类 题目二&#xff1a;排序数组 题目三&#xff1a;数组中的第k个最大元素 题目四&#xff1a;库存管理III 题目一&#xff1a;颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地对它们进行排序&#xff0c;…

【回文 马拉车】214. 最短回文串

本文涉及知识点 回文 马拉车 LeetCode214. 最短回文串 给定一个字符串 s&#xff0c;你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。 示例 1&#xff1a; 输入&#xff1a;s “aacecaaa” 输出&#xff1a;“aaacecaaa” 示…

【单元测试】Spring Boot 的测试库

Spring Boot 的测试库 1.了解回归测试框架 JUnit2.了解 assertThat3.了解 Mockito4.了解 JSONPath5.测试的回滚 单元测试&#xff08;unit test&#xff09;是为了检验程序的正确性。一个单元可能是单个 程序、类、对象、方法 等&#xff0c;它是应用程序的最小可测试部件。 单…

[大模型]XVERSE-7B-chat Transformers 推理

XVERSE-7B-Chat为XVERSE-7B模型对齐后的版本。 XVERSE-7B 是由深圳元象科技自主研发的支持多语言的大语言模型&#xff08;Large Language Model&#xff09;&#xff0c;参数规模为 70 亿&#xff0c;主要特点如下&#xff1a; 模型结构&#xff1a;XVERSE-7B 使用主流 Deco…

用于每个平台的最佳WordPress LMS主题

你已选择在 WordPress 上构建学习管理系统 (LMS)了。恭喜&#xff01; 你甚至可能已经选择了要使用的 LMS 插件&#xff0c;这已经是成功的一半了。 现在是时候弄清楚哪个 WordPress LMS 主题要与你的插件配对。 我将解释 LMS 主题和插件之间的区别&#xff0c;以便你了解要…

如何打开pak文件-翻译pak语言包

最近碰到一些程序的语言包是pak格式&#xff0c;用Notepad打开全是乱码&#xff0c;百度搜索了一下&#xff0c;pak是一种少见的压缩文件格式&#xff0c;是pak Quake系列游戏所采用的一种特殊压缩包格式&#xff0c;由Quake游戏公司开发&#xff0c;用高版本的winrar可以打开&…

测试 halcon算子 derivate_gauss 高斯一阶导数卷积

参上了 matlab fileexchange 有人上传了高斯 dx,dy一阶导卷积代码 卷积核的计算我修改成了核元素绝对值求做分母 归一化 和halcon的 derivate_gauss算子的计算结果对别如下 还是不知道怎么做到两者结果一致. 测试图像: 我的: halcon的: 获取两份图像的灰度值到数组并做对应位…

即时聊天系统

功能描述 该项目是一个前后端分离的即时聊天项目&#xff0c;前端采用vue2、后端使用springboot以mysql8.0作为数据库。 项目功能包含了单聊、群聊功能。在此基础上增加了对好友的功能操作&#xff0c;如备注设为通知、视频聊天、语音聊天、置顶、拉入黑名单、清空聊天记录等。…

【面试干货】Integer 和 int 的区别

【面试干货】Integer 和 int 的区别 1、基本类型与包装类型2、内存占用3、自动装箱与拆箱4、null 值5、常量池6、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java中&#xff0c;Integer 和 int 是两种不同类型的变量&#xff0c;…

leetcode LRU 缓存

leetcode: LRU 缓存 LRU 全称为 Least Recently Used&#xff0c;最近最少使用&#xff0c;常常用于缓存机制&#xff0c;比如 cpu 的 cache 缓存&#xff0c;使用了 LRU 算法。LRU 用于缓存机制时&#xff0c;关键的是当缓存满的时候有新数据需要加载到缓存的&#xff0c;这个…

自动化测试断言

自动化判断测试用例的执行的结果是否成功&#xff0c;是通过判断测试得到的实际结果与预期结果是否相等决定的。这个时候就用到了断言。 检查点分为两个&#xff0c;一个是页面级别的检查&#xff0c;包括网页的标题和网址&#xff0c;以及是否包含某个文字 另一个检查点是页…