首页 > 编程语言 >《C++ GUI Qt4编程》第2章——创建对话框——深入介绍信号和槽

《C++ GUI Qt4编程》第2章——创建对话框——深入介绍信号和槽

时间:2023-08-11 09:55:25浏览次数:43  
标签:SLOT Qt4 对话框 int SIGNAL 连接 connect 信号 GUI

槽和普通的C++成员函数几乎是一样的——可以是虚函数;可以被重载;可以是公有的、保护的或者私有的,并且也可以被其他C++成员函数直接调用,它们的参数可以是任意类型。唯一不同的是:槽还可以和信号连接在一起,在这种情况下,每当发射这个信号的时候,就会自动调用这个槽。

connect(sender, SIGNAL(signal), receiver, SLOT(slot));

这里的sender和receiver是指向QObject的指针,signal和slot是不带参数的函数名。实际上,SIGNAL()宏和SLOT()宏会把它们的参数转换成相应的字符串。

信号与槽的连接

// 一个信号可以连接多个槽(顺序不确定)
connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(updateStatusBarIndicator(int)));

// 多个信号可以连接同一个槽
connect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));
connect(calculator, SIGNAL(divisionByZero()), this, SLOT(handleMathError()));

// 一个信号可以与另外一个信号连接(当发射第一个信号时,也会发射第二个信号)
connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SIGNAL(updateRecord(const QString &)));

// 连接可以被移除(这种情况很少用到,因为当删除对象时,Qt会自动移除和这个对象相关的所有连接)
disconnect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));

标签:SLOT,Qt4,对话框,int,SIGNAL,连接,connect,信号,GUI
From: https://www.cnblogs.com/sdyan/p/17622222.html

相关文章

  • 基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
    1.算法理论概述       随着交通工具的普及,车辆数量快速增长,车辆管理变得越来越重要。在车辆管理中,车牌号码的自动识别是一个重要的环节。从传统的手工识别,到现在的自动化识别,车牌识别技术已经成为了一个热门的研究领域。其中,数字字母识别是车牌识别的重要组成部分。本文......
  • 这些命令可以直接在Windows资源管理器的地址栏中输入,或通过运行对话框(Win + R)中输入运
    Windowsshell命令和路径:shell:commonstartup:该命令用于打开"公共启动"文件夹,这是一个用于存放所有计算机用户启动项的文件夹。在这个文件夹中放置的程序或快捷方式会在每个用户登录时自动执行。shell:sendto:这个命令用于打开"发送到"菜单的文件夹,它包含了在右键菜单中"发送到"......
  • C#图形用户界面(GUI)编程:Windows窗体应用程序
    简介:欢迎来到C#语言入门指南的第七篇博客!在前几篇博客中,我们已经学习了C#语言的基本概念、面向对象编程、数组和集合、异常处理和调试技巧,以及文件和IO操作、多线程编程。今天,我们将进入GUI编程的世界,学习如何使用C#创建Windows窗体应用程序。让我们开始吧!1.Windows窗体应用程序......
  • Python_GUI(pySide)开发指南(@Like)
    Python_GUI(pySide)开发指南(@Like) 目录一、PythonGUI简介二、PySide6工具安装1.安装VSCode:https://code.visualstudio.com/2.安装Python:https://www.python.org/downloads/3.安装PyCharm:https://www.jetbrains.com/pycharm/4.更新pip: 命令python.exe-mpip......
  • JavaGuide
    Java基础知识点汇总0.Java语言特性简单易学具有面向对象三大特性:继承、封装、多态平台无关性(由JVM虚拟机实现与平台无关)可靠性安全性支持多线程支持网络编程编译与解释并存与C++相比:都是面向对象的语言,都支持继承封装多态Java不提供指针来直接访问内存,更加安全Jav......
  • 融云:从「对话框」跳进魔法世界,AIGC 带给社交的新范式
    AIGC与社交结合的应用主要分两种,一是发乎于AIGC,以大模型为基础提供虚拟伴侣等服务的App;二是在原先已经十分成熟的产品中,添加了AIGC能力以触发新场景和新玩法的社交App。关注【融云全球互联网通信云】了解更多简而言之,以产品倚重点不同来划分,二者形态分别是“AIGC+”和“+AIGC......
  • android 对话框AlertDialog。
    API:java.lang.Object ↳ android.app.AlertDialog.Builder使用AlertDialog.Builder创建对话框需要了解以下几个方法:setTitle:为对话框设置标题setIcon:为对话框设置图标setMessage:为对话框设置内容setView:给对话框设置自定义样式setItems:设置对话框要显示的一个list,一般用......
  • 《安富莱嵌入式周报》第319期:声音编程器,开源激光雕刻机,自制600W海尔贝克无刷电机,车用
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 更新视频教程:更新第7期ThreadX视频教程:如何实现RTOS高效的任务管理,抢占式调度,时间片调度和零中断延迟(2023-07-31)https://www.armbbs.cn/forum.php?mod=viewthread&tid......
  • 前端学习笔记202305学习笔记第二十一天-vue3.0-对话框关闭时候重置页面
       ......
  • python coding style guide 的快速落地实践——业内python 编码风格就pep8和谷歌可以
    pythoncodingstyleguide的快速落地实践机器和人各有所长,如codingstyle检查这种可自动化的工作理应交给机器去完成,故发此文帮助你在几分钟内实现codingstyle的自动检查。1.有哪些著名的PythonCodingStyleGuidePEP8https://www.python.org/dev/peps/pep-0008/发明Python语言......