qt槽函数的四种写法

槽函数的四种写法

一,Qt4写法

不推荐这种写法 ,如果SLGNAL写错了,或者信号名字,槽函数名字写错了.编译器检查不出来,导致程序无响应,引起不必要的误解

cpp 复制代码
connect(ui.btnOpen,SLGNAL(clicked),this,SLOT(open()));

二,Qt5写法

推荐使用这种写法,信号名字、槽函数名字写错了,编译器会直接报错

cpp 复制代码
connect(ui.btnOpen,&QPushButton::clicked, this, &Widget::open);

三,lambda表达式写法

适用于slot代码比较少的逻辑

复制代码
connect(ui.btnOpen,&QPushButton::clicked,[=](){
具体代码
});

四,牵线法

去掉头文件,cpp实现

不推荐这种写法,如果控件过多,并且界面跨很多层,基本无法处理

相关推荐
我命由我123451 分钟前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
long31610 分钟前
java 策略模式 demo
java·开发语言·后端·spring·设计模式
AI 嗯啦1 小时前
SQL详细语法教程(三)mysql的函数知识
android·开发语言·数据库·python·sql·mysql
GUET_一路向前3 小时前
【C语言】解释形参void *data用法
c语言·开发语言·通用指针
skywalk81633 小时前
转换一个python项目到moonbit,碰到报错输出:编译器对workflow.mbt文件中的类方法要求不一致的类型注解,导致无法正常编译
开发语言·moonbit·trae
DavieLau4 小时前
C#项目WCF接口暴露调用及SOAP接口请求测试(Python版)
xml·服务器·开发语言·python·c#
张人玉4 小时前
C#Encoding
开发语言·c#
Hard but lovely5 小时前
C++:stl-> list的模拟实现
开发语言·c++·stl·list
码界筑梦坊5 小时前
98-基于Python的网上厨房美食推荐系统
开发语言·python·美食
光爷不秃6 小时前
Go语言中安全停止Goroutine的三种方法及设计哲学
开发语言·安全·golang