第一种:QT4写法(不推荐)
connect(ui->btnOpen,SIGNAL(clicked),this,SLOT(on_btnOpen_clicked()));
写错了编译器不会报错!
第二种:QT5函数指针写法(推荐)
connect(ui->btnOpen,&QPushButton::click,this,&Widget::open1);
写错了编译器会报错
函数指针的好处
- 类型安全:编译时检查信号和槽的参数是否匹配,减少了运行时错误。
- 自动连接:Qt 的元对象系统能够处理这些函数指针,自动完成连接工作。
- 可读性和维护性:使用函数指针语法,代码更加清晰,易于理解和维护。
第三种:lambda表达式写法
connect(ui->btnOpen,&QPushButton::click,this,[=](){
//函数体
});
用于slot代码较少的逻辑