前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Qt Creator和VS2010中添加槽信号_差异与详解

Qt Creator和VS2010中添加槽信号_差异与详解

作者头像
战神伽罗
发布于 2019-07-24 07:00:49
发布于 2019-07-24 07:00:49
2.2K00
代码可运行
举报
运行总次数:0
代码可运行

1.前言:

Qt 的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。如点击一个QPushButton时,按钮会发送一个clicked()信号,信号可以与函数(在qt里称做槽slot)相连接。可以把信号理解为MFC里的事件。信号与槽的关系,我们也可以类比为为,事件驱动关系。 利用QT做UI设计的一般分为两派,发烧派采用Qt Creator设计,平台友好,视觉冲击强,流线式设计。微软派采用Visual Studio开发,此派深受微软毒害~ 已经难以自拔~ 就个人而言,属于微软派,用久了想脱身也不容易了。 这里需要面对一个问题就是VS与Qt Creator中添加“信号与槽”是不一样的,需要注意。

2.Visual Studio2010中添加槽

Step1:创建对话框窗口,选择“创建界面”复选框

2.头文件中添加“槽声明”

代码语言:javascript
代码运行次数:0
运行
复制
  1. #ifndef ADDSOLTTOVS_H
  2. #define ADDSOLTTOVS_H
  3. #include <QtWidgets/QDialog>
  4. #include "ui_addsolttovs.h"
  5. class AddSoltToVs : public QDialog
  6. {
  7. Q_OBJECT
  8. public:
  9. AddSoltToVs(QWidget *parent = 0);
  10. ~AddSoltToVs();
  11. private:
  12. Ui::AddSoltToVsClass ui;
  13. ////////槽声明
  14. public slots:
  15. void Btn_Click();
  16. };
  17. #endif // ADDSOLTTOVS_H

3.源文件中进行“槽实现”(注意添加消息盒子的头文件)

代码语言:javascript
代码运行次数:0
运行
复制
  1. #include "addsolttovs.h"
  2. #include <QMessageBox>
  3. AddSoltToVs::AddSoltToVs(QWidget *parent)
  4. : QDialog(parent)
  5. {
  6. ui.setupUi(this);
  7. }
  8. AddSoltToVs::~AddSoltToVs()
  9. {
  10. }
  11. void AddSoltToVs::Btn_Click()
  12. {
  13. QMessageBox msg;
  14. msg.setText("Hello World!");
  15. msg.exec();
  16. }

4.打开UI,进入Qt Designer,建立槽

注意:别把槽的函数名写错了

注意:一定要把Designer关闭了再去调试我们的VS主程序

5.运行结果

没错,这就意味着,我们成功了。

3.Qt Creator中添加槽过程

诶呀。支持Creator的发烧友们欢呼吧~ 的确,很简单~

1.打开 Qt Creator新建一个项目MyQtDemo

2.点击mainwindow打开设计窗体在窗体上添加一个PushButton。点击右键先把转到槽

3.打开转到槽窗体

4.点击clicked()点击确定,在mainwindow.cpp里添加QMesageBox

代码语言:javascript
代码运行次数:0
运行
复制
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include <QMessageBox>
  4. MainWindow::MainWindow(QWidget *parent) :
  5. QMainWindow(parent),
  6. ui(new Ui::MainWindow)
  7. {
  8. ui->setupUi(this);
  9. }
  10. MainWindow::~MainWindow()
  11. {
  12. delete ui;
  13. }
  14. void MainWindow::on_pushButton_clicked()
  15. {
  16. QMessageBox msg;
  17. msg.setText("Hello World !");
  18. msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);
  19. msg.setDefaultButton(QMessageBox::Cancel);
  20. msg.exec();
  21. }

5.运行即可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在Qt Creator 和在 vs2012 里添加信号和槽
Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。 如点击一个QPushButton时,按钮会发送一个clicked()信号,信号可以与函数(在qt
lpxxn
2018/01/31
1K0
在Qt Creator 和在 vs2012 里添加信号和槽
[Qt] 信号与槽:灵活编写多种类型槽函数
在Qt中, 槽函数是响应信号的函数,用来处理用户的交互或者程序中的特定事件。槽函数可以通过 connect函数与信号进行连接。当特定信号发出时,相应的槽函数会被自动调用。下面将详细讲解Qt中槽函数的编写方式,并结合代码示例逐步分析每一种写法。
DevKevin
2024/10/11
3750
Qt5实战第三篇:Qt5的信号与槽机制
Qt5的信号与槽机制是其事件处理系统的核心,它允许对象之间进行通信,而无需了解彼此的底层实现。这种机制是Qt框架的一大特色,使得开发者能够以一种直观且易于维护的方式编写事件驱动的代码。本文将深入探讨Qt5的信号与槽机制,包括其基本概念、使用方法以及实际应用中的最佳实践。
china马斯克
2024/12/26
2570
Qt 第二步 熟悉文件结构组成(二)
目录导航: 《Qt 第一步 HelloWorld 的第一个程序》 《Qt 第二步 槽与信号(一) 实现点击按钮并弹窗》
1_bit
2020/10/23
7470
Qt 第二步 熟悉文件结构组成(二)
QT5 动态链接库的创建和使用
记录一下QT5 动态链接库的创建和使用 在文章的最后有完成的代码供下载 1.创建动态链接库 先新建一个库项目 选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld 再点击下一步
lpxxn
2018/01/31
1.5K0
QT5 动态链接库的创建和使用
Qt 第二步 槽与信号(一) 实现点击按钮并弹窗
信号与槽是Qt中的核心,也是Qt的特有的。在Qt中信号与槽的关键字为slots、signals、emit。
1_bit
2020/07/07
3.5K0
Qt 第二步 槽与信号(一) 实现点击按钮并弹窗
Qt 第二步 槽与信号(一) 实现点击按钮并弹窗
信号与槽是Qt中的核心,也是Qt的特有的。在Qt中信号与槽的关键字为slots、signals、emit。 具体信号与槽将会在下一节中详细说明,因为担心一些读者在没了解过槽与信号前直接讲述过深导致门槛提高,阅读困难,所以当前这一篇文将在不理解信号与槽的实现原理下,完成点击按钮并弹窗,感受信号与槽的使用。
1_bit
2020/10/23
1.3K0
Qt 第二步 槽与信号(一) 实现点击按钮并弹窗
C++ Qt开发:如何使用信号与槽
在Qt中,信号与槽(Signal and Slot)是一种用于对象之间通信的机制。是Qt框架引以为傲的一项机制,它带来了许多优势,使得Qt成为一个强大且灵活的开发框架之一。信号与槽的关联通过QObject::connect函数完成。这样的机制使得对象能够以一种灵活而松散耦合的方式进行通信,使得组件之间的交互更加灵活和可维护。
微软技术分享
2023/12/12
1.3K0
C++ Qt开发:如何使用信号与槽
QT入门学习——从信号和槽到对话框,各种控件以及自定义控件
2.4默认创建有窗口类,yWidget,基类有三种选择:QWidget、QMainWindowQDialog
Arya
2024/10/31
4750
QT入门学习——从信号和槽到对话框,各种控件以及自定义控件
C/C++ Qt 自定义Dialog对话框组件应用
在上一篇博文 《C/C++ Qt 标准Dialog对话框组件应用》 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能。
微软技术分享
2022/12/23
7500
C/C++ Qt 自定义Dialog对话框组件应用
PyQt5编程基础 2.2 信号与槽函数
三个CheckBox的ObjectName分别设为chkBoxUnder、chkBoxItalic、chkBoxBold,text分别设为Underline、Italic、Bold,其中chkBoxUnder的checked属性打勾
会洗碗的CV工程师
2023/02/10
1.9K0
PyQt5编程基础 2.2 信号与槽函数
C/C++ Qt 基础通用组件的应用
QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率。
微软技术分享
2022/12/23
3.8K0
C/C++ Qt 基础通用组件的应用
C++ Qt开发:RadioButton单选框分组组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QRadioButton单选框组件以及与之交互的QButtonGroup类的常用方法及灵活运用。
微软技术分享
2023/12/14
1.5K0
C++ Qt开发:RadioButton单选框分组组件
PyQt5-Qt Designer中如何设置信号与槽?
虫无涯
2023/10/18
9370
【QT】Qt 窗口 (QMainWindow)
QMainWindow 是一个为用户提供主窗口程序的类,继承自 QWidget 类,并且提供了一个预定义的布局。QMainWindow 包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个浮动窗口(铆接部件)(dock widgets)、⼀个状态栏(status bar) 和⼀个 中心部件(central widget),它是许多应用程序的基础,如文本编辑器,图片编辑器等。如下图为 QMainwindow 中 各组件所处的位置:
YoungMLet
2024/07/16
3910
【QT】Qt 窗口 (QMainWindow)
学习 QT 过程中的一些笔记
学习 QT 时候做的一些笔记 目录 目录 按钮常用控件 API QT 窗口体系 信号和槽 点击按钮关闭窗口 自定义信号和槽 当自定义信号和槽出现重载 无参信号和有参信号与槽连接 Lambda 表达式 利用 Lambda 表达式实现点击按钮关闭窗口 QMainWindow 菜单栏 工具栏 状态栏 标签控件 浮动窗口 核心部件 资源文件 对话框 话框分类: 标准对话框 其他标准对话框 界面布局 控件 按钮组 QListWidget 列表容器 按钮常用控件 API QPushButton * btn = new
HauHau
2022/01/12
1.2K0
Qt学习笔记 ListWidget的增删改
学习了一下ListWidget控件的使用,做一个小功能增删改 先把代码分解最后给出完整代码 在窗体上添加一个ListWidget 一个Horizontal Specer和  三个PushButton
lpxxn
2018/01/31
1.1K0
Qt学习笔记 ListWidget的增删改
C/C++ Qt 标准Dialog对话框组件应用
在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog 这几种,这里我将总结本人在开发过程中常用到的标准对话框的使用技巧。
微软技术分享
2022/12/23
7870
C/C++ Qt 标准Dialog对话框组件应用
【Qt】自定义信号和槽函数
这种方式在之前的文章就已经有所涉及了。 关于connect函数的介绍可以看这篇文章【Qt-信号与槽】connect函数的用法-CSDN博客
Yui_
2025/03/09
1240
【Qt】自定义信号和槽函数
【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
在 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 ) 博客中 , 创建了一个空的 Qt 桌面程序 , 并运行 ;
韩曙亮
2023/03/29
1.8K0
【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
推荐阅读
相关推荐
在Qt Creator 和在 vs2012 里添加信号和槽
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文