首页 > 其他分享 >qt-信号与槽初步

qt-信号与槽初步

时间:2022-12-14 18:33:49浏览次数:60  
标签:quit qt 程序 初步 按下 信号 按钮

接下来,我们将沿着上一篇的进度,学习如何将按钮与退出程序建立连接。

建立连接是什么意思呢,我们就拿按钮来解释一下。按钮可以被按下。显然当按钮按下的时候,我们希望程序做出指定反应。但是我们需要指定谁来接受这个信号并做出反应,否则发出信号程序并不一定有什么反应。建立连接就是用来做这种事情的。

所以,本文中,我们需要设计一个程序,这个程序有一个quit按钮,按下它,程序就会退出。

先放代码:

#include <QApplication>
#include <qpushbutton.h>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QPushButton quit("quit",0);
    quit.resize(120,60);

    QObject::connect(&quit,SIGNAL(clicked()),&a,SLOT(quit()));

    quit.show();

    return a.exec();
}

与上一篇文章相比,这次的代码主要只增加了QObject::connect一个函数,这个函数就是用来将按钮与退出程序建立连接的。可以看到该函数中有quit对象,SIGNAL,a对象,SIGNAL。所以该函数的作用就是将A对象(quit按钮)的某个信号(按下)和B对象(a)的某个行为(退出程序)进行连接。

qt中信号仍称信号,但对信号做出反应的行为,称槽。具体可以自行查看qt文档对于信号和槽的描述。

标签:quit,qt,程序,初步,按下,信号,按钮
From: https://www.cnblogs.com/bvwvd/p/16982931.html

相关文章

  • 使用java 实现mqtt两种方式
    前言在开发MQTT时有两种方式一种是使用PahoJava原生库来完成,一种是使用springboot来完成。PahoJava库实现EclipsePahoJavaClient(opensnewwindow)是用Java编......
  • QTreewidget树状列表右击事件
     树状列表右击事件(添加删除修改等操作) 思路:首先我们需要一个voidcontextMenuEvent(QContextMenuEvent*event);管理Menu事件的一个接口此接口为系统自带的,不需......
  • 产品分享:Qt鸿图电子智慧白板(适合会议机、电子黑板、电子笔记、电子阅读器等场景),当前版
    产品  鸿途电子智慧白板。 原理  使用Qt技术为基础,开发的windows/ubuntu/arm电子绘图板,主要为windows,支持触摸鼠标,可以定制跨平台。 适合场景  ......
  • 超全!Python图形界面框架PyQt5使用指南!
    使用Python开发图形界面的软件其实并不多,相对于GUI界面,可能Web方式的应用更受人欢迎。但对于像我一样对其他编程语言比如C#或WPF并不熟悉的人来说,未必不是一个好的工具。......
  • Proj4.js使用初步入门
    一、基础知识在正式使用Proj4.js时,我们首先需要了解下有关各种投影的参数定义(例如:椭球长半轴、扁率、原点纬线、中央经线、两条标准纬线、东偏移量、北偏移量和单位等),具......
  • Qt-1-信号和槽
    信号和槽的概念什么是信号和槽,就是说通过connect函数将信号和槽函数连接起来,当信号发出的时候回触发槽函数自动执行。QObject::connect(constQObject*sender, const......
  • 【GPS信号】GPS信号的读取以及kalman滤波预测
    根据论文中的要求,我们所需要的经度纬度和高度来自GPS信号的中的GPGGA的数据。所以提取这三个信息主要是对GPGGA中的数据进行整理。   GPGGA的数据格式如下所示:  ......
  • flask-session、数据库连接池、wtfroms、信号
    g对象1.g:global缩写,是关键字,不能用,就写成了g-g是一个全局对象,当此请求过程中,一直有效-其实是请求的上下文,从请求进来,就有,到请求走了,一直存在,所以在当次请求过程中,如果......
  • Qt开发Active控件:如何使用ActiveQt Server开发大型软件的主框架(2)
    Qt开发Active控件:如何使用ActiveQtServer开发大型软件的主框架注:本文更多地是带着如何去思考答案,而不是纯粹的放一个答案上来,如果你需要直接看到完整的答案,请直接看实例......
  • VS2008,GDIPlus初步
    以VS2008MDI为例, step1.在文件stdafx.h中加入如下代码 #include<GdiPlus.h>#pragmacomment(lib,"gdiplus.lib")usingnamespaceGdiplus;#ifndefULONG_PTR#define......