当前位置:   article > 正文

QT 信号槽机制

QT 信号槽机制

核心函数为

QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)


参数为

1.信号发生对象

2.信号发生对象的信号

3.槽对象

4.槽对象的槽函数

函数作用:连接信号和槽,使得信号发生对象发射信号发生时槽对象执行槽函数

1.信号发生对象/槽对象:const QObject* 类型,大部分qt有的组件都是QObject的子类,直接用就行

2.信号:信号是一个只有声明没有内容的函数,唯一的作用就是当调用发射时将参数发射到槽对象槽函数的参数里

3.槽函数:信号发射后执行的函数,参数数量类型顺序保持和信号一样

下面写一个例子,自建一个信号和槽进行验证

新建一个widget,加一个按键,转到槽函数

在类声明中新建一个信号和槽函数

信号固定有类型所以不用前缀

信号不需要内容定义,在槽函数定义里面写一个打印

使用pushbutton的clicked来发射我们定义的信号,发射的关键字为emit

connect连接信号和槽

注意:信号用SIGNAL()宏包起来,槽函数用SLOT()包起来,并且如果有参数要把参数列表类型完整的写入

执行,按button,执行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/865446
推荐阅读
相关标签
  

闽ICP备14008679号