首页 > 其他分享 >1、槽函数

1、槽函数

时间:2023-11-20 17:35:30浏览次数:31  
标签:clicked 函数 -- void 信号 组件

作用

   用于组件和组件之间,组件和窗口之间进行通信

  信号:本质上是个函数(很特殊,只有声明,没有定义,没有源码), 所有的组件QT都已经定义好了对应的信号

     如何查看某个类(组件)有哪些信号

                              方法一:右键点击组件,转到槽即可看到该组件的所有信号

                              方法二:打开QT助手,搜索类,查看到所有的信号声明和介绍

    槽函数 : 就是个普通函数,当信号产生的时候,槽函数会被自动调用执行相应的任务

生成槽函数

  右键转到槽函数

  QT工程自动生成了如下代码:

//声明一个私有的槽函数   slots槽函数的声明
private slots:   
    void on_pushButton_clicked();
void MainWindow::on_pushButton_clicked()  //槽函数的定义
 {

 }

关联信号与槽函数

  方法一:借助集成开发环境QT creator自动关联--》右键转到槽函数

  方法二:程序员自己写代码关联信号与槽函数

connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method)
参数:  sender --》信号的发送者
       signal --》发送什么信号
       receiver --》信号的接收者
       method --》要调用执行的槽函数
比如:connect(ui->bt2,SIGNAL(clicked()),this,SLOT(fun()));
// 目前官方推荐的写法优点在实际编程中不用考虑参数类型,注意:当前类名为对应函数的类
connect(ui->bt2,&当前类名::clicked,this,&当前类名::fun);

信号与槽的特点

  • 一个类如果要使用信号与槽,必须在这个类的定义中加上Q_OBJECT这个宏定义
  • 同一个信号可以关联多个不同的槽函数(此时多个槽函数都会被调用,槽函数的调用顺序是依照你关联的先后顺序依次调用)
  • 同一个槽函数可以被不同的信号关联
  • 信号如果带参数,槽函数可以带参数,也可以不带
    void cursorPositionChanged(int oldPos, int newPos)  //这个信号带有两个int类型的参数
    void editingFinished()  //这个信号不带任何参数

     

 

 

 

 

 

 

 

 

 

  

标签:clicked,函数,--,void,信号,组件
From: https://www.cnblogs.com/baisedeyu/p/17843518.html

相关文章

  • 函数的基本使用
    ......
  • List 函数排序操作,用对方法事半功倍!
    作为一名程序员,以下这些场景你肯定不陌生,1.数据分析和处理:在处理大量数据时,需要对数据进行排序以进行进一步的分析和处理。例如,在市场调研中,可能需要按照客户的购买频率对客户列表进行排序,以确定哪些客户最有可能购买产品或服务。2.报表生成:在生成报表时,往往需要按照特定的顺序对......
  • timeSetEvent()函数定时器的使用
    1、定时器函数的使用微软公司在其多媒体Windows中提供了精确定时器的底层API支持,利用多媒体定时器可以很精确地读出系统的当前时间,并且能在非常精确的时间间隔内完成一个事件、函数或过程的调用。利用多媒体定时器的基本功能,可以通过两种方法实现精确定时。(1)使用timeGetTime()......
  • CH573 CH582 CH592 CH579常用库函数记录
    一:系统篇:软件复位SYS_ResetExecute();延时函数mDelaymS(1);//延时1msmDelayuS(1);//延时1us设置晶体匹配电容 voidHSECFG_Capacitance(HSECapTypeDefc);//外部高频32MHZvoidLSECFG_Capacitance(LSECapTypeDefc);//外部低频32.768KHZ 开启DCD......
  • 【4.0】Python高级之匿名函数
    【一】匿名函数的定义在Python里有两类函数:第一类:用def关键词定义的正规函数第二类:用lambda关键词定义的匿名函数Python使用lambda关键词来创建匿名函数,而非def关键词lambdaargument_list:expressionlambda:定义匿名函数的关键词。argument_list:函......
  • 【Python入门教程】Python中函数的用法和意义
    ​        在Python中,函数是一种可重用的代码块,它可以被多次调用以执行特定的任务。函数可以帮助我们组织代码,使其更易于阅读和调试,同时还可以提高代码的可重用性和可维护性。一、函数的定义        在Python中,函数使用def关键字进行定义,语法如下:deffunctio......
  • Excel中最牛的Index和match函数介绍
    当谈到Excel中最强大的函数时,INDEX和MATCH往往会被提及。它们经常一起使用,可以用来查找和返回数据表中的特定数值或信息。下面是对这两个函数的详细介绍:INDEX函数:INDEX函数的作用是返回一个数组或区域中的特定单元格的值。其语法如下:```excelINDEX(array,row_num,[column_......
  • Java开发者的Python快速进修指南:函数进阶
    在上一篇文章中,我们讲解了函数最基础常见的用法,今天我想在这里简单地谈一下函数的其他用法。尽管这些用法可能不是非常常见,但我认为它们仍然值得介绍。因此,我将单独为它们开设一个章节,并探讨匿名函数和装饰器函数这两种特殊的用法。匿名函数在Python中,匿名函数也被称为lambda函......
  • vue3 ts 生命周期函数写法
    写法1import{defineAsyncComponent,ref,reactive,onMounted,nextTick,computed,watch}from'vue';//页面加载时onMounted(()=>{ initResize();});//监听双向绑定modelValue的变化watch( ()=>props.modelValue, ()=>{ initModeValueEcho();......
  • oracle常用函数
    基础函数select*fromtableorderbyidnullsfirst/last---将id是空值的放在首位还是末尾selectnvl2(val1,val2,val3)fromdual----如果val1是null,则返回nvl3,否则返回nvl2selectcoalesce(null,null,.....value)fromdual---判断值是否为空,直到返回一个不为null的值r......