首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在Qt Creator 和在 vs2012 里添加信号和槽

在Qt Creator 和在 vs2012 里添加信号和槽

作者头像
lpxxn
发布于 2018-01-31 05:18:53
发布于 2018-01-31 05:18:53
1.1K00
代码可运行
举报
文章被收录于专栏:技术之路技术之路
运行总次数:0
代码可运行

Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。

如点击一个QPushButton时,按钮会发送一个clicked()信号,信号可以与函数(在qt里称做槽slot)相连接

可以把信号理解为c#里的事件

在vs2012里和在Qt Creator里添加信号和槽不一样,这里把两种环境下怎么添加详细说明一下

1.在vs2012里添加信号和槽

新建一个qt的项目QtDemo

在qtdeom.h里添加槽

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private slots:
         void Btn_OpenClick();

整体代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ifndef QTDEMO_H
#define QTDEMO_H

#include <QtWidgets/QMainWindow>
#include "ui_qtdemo.h"

class QtDemo : public QMainWindow
{
    Q_OBJECT

public:
    QtDemo(QWidget *parent = 0);
    ~QtDemo();

private:
    Ui::QtDemoClass ui;
private slots:
         void Btn_OpenClick();
};

#endif // QTDEMO_H

在qtdemo.cpp里添加实现,这里我们只是弹出一个QMessagBox

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "qtdemo.h"
#include <QMessageBox>
QtDemo::QtDemo(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    
}

QtDemo::~QtDemo()
{

}

void QtDemo::Btn_OpenClick()
{
    QMessageBox msg;
    msg.setText("HelloWord!");
    msg.exec();
}

双击qtdemo.ui打开qt设计师窗体

我们在窗体上放一个PushButton

点击编辑信号槽

点击PushButton手动红色箭头指向窗体

点击QtDemoClass窗口下的编辑打开信号槽窗体点击添加把我们之前写的方法名称加到里边

确定关闭后在配置连接窗体下点点击licked()和Btn_OpenClick()后确定

点击保存关闭qt设计师窗体

回到vs2012后F5运行

2.在Qt里添加信号和槽

打开 Qt Creator新建一个项目MyQtDemo

点击mainwindow打开设计窗体在窗体上添加一个PushButton

点击右键先把转到槽

打开转到槽窗体

点击clicked()点击确定

在mainwindow.cpp里添加QMesageBox

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QMessageBox msg;
    msg.setText("Hello Word !");
    msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);
    msg.setDefaultButton(QMessageBox::Cancel);
    msg.exec();
}

运行

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Qt Creator和VS2010中添加槽信号_差异与详解
2.点击mainwindow打开设计窗体在窗体上添加一个PushButton。点击右键先把转到槽
战神伽罗
2019/07/24
2.4K0
Qt Creator和VS2010中添加槽信号_差异与详解
[Qt] 信号与槽:灵活编写多种类型槽函数
在Qt中, 槽函数是响应信号的函数,用来处理用户的交互或者程序中的特定事件。槽函数可以通过 connect函数与信号进行连接。当特定信号发出时,相应的槽函数会被自动调用。下面将详细讲解Qt中槽函数的编写方式,并结合代码示例逐步分析每一种写法。
DevKevin
2024/10/11
6780
QT入门学习——从信号和槽到对话框,各种控件以及自定义控件
2.4默认创建有窗口类,yWidget,基类有三种选择:QWidget、QMainWindowQDialog
Arya
2024/10/31
9700
QT入门学习——从信号和槽到对话框,各种控件以及自定义控件
C/C++ Qt 基础通用组件的应用
QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率。
王瑞MVP
2022/12/23
4K0
C/C++ Qt 基础通用组件的应用
【Qt】带参数的信号和槽函数
Qt的信号和槽也是支持带有参数的,同时也支持重载。 此处我们要求,信号函数的参数列表要和对应连接的槽函数参数列表一致。 当信号触发时,调用槽函数的时候,信号函数的实参就能被传递到槽函数的形参当中。
Yui_
2025/03/12
7230
【Qt】带参数的信号和槽函数
Qt学习笔记 信号和槽
槽和普通c++成员函数一样只可以为虚函数,也可以被重用,可以是公有的也可以是私有的,也可以被其它的c++函数调用; 参数也是任意的 唯一不同的是本槽和信号是可以连在一起的,和c#的事件差不多。相连后每当发射这个信号后就会自动调用这个槽 connection(sender,SIGNAL(signal),receiver,SLOT(slot)); sender就发送信号的Qobject指针 receiver是槽的Qobject指针 signal和slot是只有形参的函数名。SIGNAL和SLOT宏会把它们的参数
lpxxn
2018/01/31
7140
Qt5实战第三篇:Qt5的信号与槽机制
Qt5的信号与槽机制是其事件处理系统的核心,它允许对象之间进行通信,而无需了解彼此的底层实现。这种机制是Qt框架的一大特色,使得开发者能够以一种直观且易于维护的方式编写事件驱动的代码。本文将深入探讨Qt5的信号与槽机制,包括其基本概念、使用方法以及实际应用中的最佳实践。
china马斯克
2024/12/26
7280
Qt 第二步 熟悉文件结构组成(二)
目录导航: 《Qt 第一步 HelloWorld 的第一个程序》 《Qt 第二步 槽与信号(一) 实现点击按钮并弹窗》
1_bit
2020/10/23
8780
Qt 第二步 熟悉文件结构组成(二)
C++ Qt开发:RadioButton单选框分组组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QRadioButton单选框组件以及与之交互的QButtonGroup类的常用方法及灵活运用。
王瑞MVP
2023/12/14
2.4K0
C++ Qt开发:RadioButton单选框分组组件
QT5 动态链接库的创建和使用
记录一下QT5 动态链接库的创建和使用 在文章的最后有完成的代码供下载 1.创建动态链接库 先新建一个库项目 选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld 再点击下一步
lpxxn
2018/01/31
1.7K0
QT5 动态链接库的创建和使用
C++ Qt开发:如何使用信号与槽
在Qt中,信号与槽(Signal and Slot)是一种用于对象之间通信的机制。是Qt框架引以为傲的一项机制,它带来了许多优势,使得Qt成为一个强大且灵活的开发框架之一。信号与槽的关联通过QObject::connect函数完成。这样的机制使得对象能够以一种灵活而松散耦合的方式进行通信,使得组件之间的交互更加灵活和可维护。
王瑞MVP
2023/12/12
1.7K0
C++ Qt开发:如何使用信号与槽
【QT】Qt 窗口 (QMainWindow)
QMainWindow 是一个为用户提供主窗口程序的类,继承自 QWidget 类,并且提供了一个预定义的布局。QMainWindow 包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个浮动窗口(铆接部件)(dock widgets)、⼀个状态栏(status bar) 和⼀个 中心部件(central widget),它是许多应用程序的基础,如文本编辑器,图片编辑器等。如下图为 QMainwindow 中 各组件所处的位置:
YoungMLet
2024/07/16
1.2K0
【QT】Qt 窗口 (QMainWindow)
【Qt】自定义信号和槽函数
这种方式在之前的文章就已经有所涉及了。 关于connect函数的介绍可以看这篇文章【Qt-信号与槽】connect函数的用法-CSDN博客
Yui_
2025/03/09
3850
【Qt】自定义信号和槽函数
初识Qt · 信号与槽总结
对于信号和槽的部分我们这里算是大的知识点已经介绍完了,那么本文的重点就是放在对信号槽的一个总结,当然,对于信号和槽我们还有两个小的知识点没有介绍到,即disconnect和lambda表达式在这里的应用。在这里也会一并介绍到。
_lazy
2025/03/07
1900
初识Qt · 信号与槽总结
C/C++ Qt 自定义Dialog对话框组件应用
在上一篇博文 《C/C++ Qt 标准Dialog对话框组件应用》 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能。
王瑞MVP
2022/12/23
8930
C/C++ Qt 自定义Dialog对话框组件应用
02 qt基本控件及信号和槽
将string -----> QString [static] QString QString::fromStdString(const std::string &str) – 静态成员函数,可以直接使用类名调用 比如:
天天Lotay
2023/10/15
4200
02 qt基本控件及信号和槽
Qt 串口上位机开发《Rice 上位机 学习开发》
前几天分享了一个使用C#开发的串口上位机,那么今天教你如何100行QT代码实现一个串口上位机。如果你学习过C++,那么使用QT开发软件,就不是什么大问题了,QT很多时候使用在linux上。所以使用QT开发还是挺不过的选择,QT兼容Linux和Windows,跨平台语言。话不多说,接下来说说他是怎么实现的。首先直接上软件效果图(温馨提示:代码没写完,哪有脸睡觉)。
Rice加饭
2022/05/09
2.1K0
Qt 串口上位机开发《Rice 上位机 学习开发》
Qt Designer界面设计器简介
   我们在制作 UI 界面的时候,一般可以通过UI制作工具和纯代码编写两种方式来实现。在 PyQt5 中,也可以采用这两种方式。在 PyQt5 中我们使用 Qt Designer 工具来制作 UI 界面。
星星在线
2019/05/28
8.7K1
C/C++ Qt 标准Dialog对话框组件应用
在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog 这几种,这里我将总结本人在开发过程中常用到的标准对话框的使用技巧。
王瑞MVP
2022/12/23
9200
C/C++ Qt 标准Dialog对话框组件应用
Qt入门系列(一)
自建一个类,此类自己选定父亲类,同时生成.h和.cpp文件,包括 .pro中也自动生成,不用手动添加。
用户9831583
2022/06/16
5620
Qt入门系列(一)
推荐阅读
相关推荐
Qt Creator和VS2010中添加槽信号_差异与详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验