【Visual Studio】开发 Qt 时右键没有自动添加 slots 槽的功能,使用 C++ 语言,配合 Qt 开发串口通信界面

news2024/9/25 13:19:46

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。

文章目录

  • Ref.

基于 Visual Studio 环境下使用 Qt,发现右键没有自动添加槽的功能,需要自己想办法。我看网上介绍了不止一种方法,特此总结下自己用过的一些方法。

比如使用我们为一个按钮添加一个点击后的功能。

GUI.h 可以添加如下内容,也就是函数的声明:

private slots:
	void on_pushButtonStop_clicked();

GUI.cpp 中添加函数的具体执行功能:

void GUI::on_pushButtonStop_clicked()
{
    m_SerialPort.close();
    ui.textBrowserStatus->insertPlainText("Successfully close the serial port!\r\n");
    ui.textBrowserStatus->moveCursor(QTextCursor::End);
}

然后在 GUI.ui 界面中进行槽的连接。

首先,切换到 Edit Signals/Slots 界面,如下图所示:
在这里插入图片描述

然后左键从按钮位置拖动一下,然后放手。就会弹出如下界面:
在这里插入图片描述

需要自己添加一下编写的函数名字。

在这里插入图片描述

最后选择确定就行了。

在这里插入图片描述

完成后的效果如下图所示:

在这里插入图片描述

至此,已经完成了槽的连接。

不过只要你规范地编写了 GUI.h 文件和 GUI.cpp 文件,哪怕你没有在 GUI.ui 界面进行槽函数的连接,也是可以的。那是因为你编写的函数名字很规范,系统默认进行了关联。也就是执行了以下语句:

connect(pushButtonStop, SIGNAL(clicked()), this, SLOT (on_pushButtonStop_clicked());

更详细的解释请参考这两篇文章:VS qt 添加信号槽,vs2019开发Qt5,QAction类的信号转到槽的实现技巧。


发现一个有意思的意外。

我在另一个 Start 按钮中本身已经编写了他的 GUI.h 文件和 GUI.cpp 文件,但是在 GUI.ui 界面没有进行槽函数的连接。首先它是可以正常执行开始功能的。

然后,我在 GUI.ui 界面链接错了槽函数,连接成了 Stop 按钮的功能。然后就发现两个按钮的功能函数都执行了。

不过执行顺序是先 Stop 功能(下图中的 close 提示),再是 Start 功能(下图中的 start 提示)。这应该也能说明槽的连接机制,优先级是更高的。

在这里插入图片描述

Ref.

  1. VS qt 添加信号槽
  2. vs2019开发Qt5,QAction类的信号转到槽的实现技巧
  3. Qt信号与槽使用方法最完整总结
  4. QT+VS开发界面入门(qt界面在VS2022实现自动生成槽函数)

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

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

相关文章

Micrometer实战

Micrometer 为基于 JVM 的应用程序的性能监测数据收集提供了一个通用的 API,支持多种度量指标类型,这些指标可以用于观察、警报以及对应用程序当前状态做出响应。 前言 可接入监控系统 监控系统的三个重要特征: 维度(Dimensio…

事务的历史与SSI——PostgreSQL数据库技术峰会成都站分享

前言 PostgreSQL数据库技术峰会成都站 近期(2023年6月17日),由中国开源软件推进联盟PG分会发起的“PostgreSQL数据库技术峰会成都站”圆满举行。我也有幸作为演讲嘉宾参加了此次峰会,收获很多。 (分会回顾和所有pp…

Qt编写监控实时显示和取流回放工具(回放支持切换进度)

一、前言 现在各个监控大厂做的设备,基本上都会支持通过rtsp直接取流显示,而且做的比较好的还支持通过rtsp回放取流,基本上都会约定一个字符串的规则,每个厂家都是不一样的规则,比如回放对应的rtsp地址还要带上时间范…

Java8 List集合如何指定打印分隔符

目录 背景方法一:String.join(推荐)方法二:Collectors.joining总结 背景 无论是在学习还是日常的应用开发过程中,我们经常会需要使用分隔符将 List 集合打印出来。 如下所示: import java.util.Arrays;pub…

数据结构与算法基础(青岛大学-王卓)(5)

叮叮咚咚,新一期来袭,我还在吃桃子,吃桃子,吃桃子。。。串和python的字符串差不多,数组和广义表像是python的list 文章目录 串(string) - 字符串概念及术语串的类型定义存储结构(同线性表)串的模式匹配算法…

leetcode46. 全排列(回溯算法-java)

全排列 leetcode46. 全排列题目描述解题思路代码演示 回溯算法专题 leetcode46. 全排列 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/permutations 题目描述 给定一个不含重复数字的数组 nums ,返回其 所有…

关于平差中误差方程 v=Bx-l 的探讨

文章目录 Part.I IntroductionPart.II 误差方程的探讨Chap.I 符号表示Chap.II 误差方程的含义Chap.III 误差方程的其他形式Chap.IV 平差的大致流程 Part.III 误差方程的表示形式 Part.I Introduction 在平时阅读文献或者整理笔记时,经常会看到各种各样的有关误差方…

Git安装详细教程(win11)

Git安装详细教程(win11) 一、下载二、安装三、配置 一、下载 官网下载:点击下载 网盘下载:点击下载 二、安装 双击程序运行,点击next 选择安装路径,我安装在了D盘,如下图所示,…

Server - 测试 GPU 的显卡使用率与张量之间的关系

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131331049 NVIDIA A100 是一款基于 Ampere 架构的高性能 GPU,专为 AI、数据分析和高性能计算等应用场景设计。NVIDIA A100 具…

【Java入门基础第10天】Java程序结构

Java程序结构 1、Java程序结构什么是Java程序结构? 2、Java注释1、单行注释2、多行注释3、多行注释 1、Java程序结构 什么是Java程序结构? 程序是由程序块组成的,所谓程序块,指的是使用一对{ } 包含若干的代码的总称。程序块是由…

【Python 基础篇】Python 变量与数据类型以及数据类型转换

文章目录 引言一、变量和常见数据类型1. 变量2. 常见数据类型 二、数据类型转换结论 引言 Python 是一种广泛应用于各个领域的高级编程语言,其灵活性和易用性使其成为众多开发者的首选。在 Python 中,变量是程序中存储数据的基本单元,而数据…

数据结构学习笔记:概论

✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 数据结…

哈工大计算网络课程网络层协议之:IP数据报、IP子网、子网掩码详解

哈工大计算网络课程网络层协议之:IP数据报、IP子网、子网掩码详解 文章目录 哈工大计算网络课程网络层协议之:IP数据报、IP子网、子网掩码详解Internet网络层IP数据报(分组)格式IP数据报分片最大传输单元(MTU&#xff…

网工内推 | 云计算专场,有通讯补助,13薪,带薪年假

01 中电信数智科技有限公司湖南分公司 招聘岗位:云计算工程师 职责描述: 1、云计算平台环境的搭建:安装、部署、配置、优化; 2、云计算平台有关的解决方案、平台测试; 3、桌面云和虚拟化项目的交付和维护工作&#…

功能强大却十分小众的5款软件

有些软件虽然功能强大,使用便捷,但是却没有得到广泛的关注和推荐,这并不意味着它们不值得一试,相反,它们可能是你不知道的宝藏。我的任务就是要把这些隐藏的好软件分享给大家。 轻量级笔记——CintaNotes CintaNotes…

PCB设计系列分享-LDO的布局布线指南

目录 概要 整体架构流程 技术名词解释 技术细节 小结 概要 “噪声问题” 这是每位电路板设计师都会听到的四个字。为了解决噪声问题,往往要花费数小时的时间进行实验室测试.以便揪出元凶,但最终却发现,噪声是由开关电源的布局不当…

27-1BP_Adaboost强分类器公司财务预管建模——强预测器和弱预测器(附matlab程序)

1.简述 学习目标:进行强预测器和弱预测器的训练来减小误差 BP_Adaboost模型 Adaboost算法的思想是合并多个“弱”分类器的输出以产生有效分类。其主要步骤为:首先给出弱学习算法和样本空间,从样本空间中找出m组训练数据,每组训练…

0015-TIPS-pawnyable : userfaultfd

原文 Linux Kernel PWN | 040303 Pawnyable之userfaultfd userfaultfdの利用 题目下载 代码分析 #include <linux/cdev.h> #include <linux/fs.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/random.h> #include &…

学生党可以做的暑期兼职,让暑假生活不再躺平

夏季期间有几种兼职工作可供选择&#xff1a; 1.许多超市在暑假期间会雇佣一些短期工来从事收银和理货等工作&#xff0c;每小时报酬一般约为15元左右&#xff0c;算是不错的待遇。 2.在暑假期间&#xff0c;你可以寻找一些人力资源工作&#xff0c;借助他们的帮助来安排一些临…

常用工具类之AJ-Captcha入门

1.引入MAVEN依赖 若依官方引入的是1.2.7版本。我选择了目前最常用的1.3.0版本。 在项目中给的 ruoyi-framework\pom.xml 添加依赖 <!-- anji滑块验证码 --><dependency><groupId>com.anji-plus</groupId><artifactId>spring-boot-starter-captc…