在ui文件中简单创建一个信号槽连接并保存可以在ui_mainwindow.h下
class Ui_MainWindow 类
void setupUi(QMainWindow *MainWindow)函数
找到对应代码
QObject::connect(pushButton, SIGNAL(clicked()), MainWindow, SLOT(close()));
下拉,由于
class MainWindow: public Ui_MainWindow {};完全继承
在main.cpp中查看main函数,
main函数定义一个mainwindow类w,定义类调用构造函数,ctrl+左键一路点下去,在mainwindow.cpp中
新建UI对象ui,申请ui的内存,再调用了setui这个函数,在这个函数里连接了信号槽
代码可以转移到MainWindow的构造函数中,
//原代码
QObject::connect(pushButton, SIGNAL(clicked()), MainWindow, SLOT(close()));
1.右键,open type hierarchy查看QObject的类型层次,可以看到它的派生类
所以我们可以直接用,不需要加::符号,mainwindow就是输入setui的参数,所以直接用this,剩下不变即可
我这边直接改成了disconnect这样运行时就发现已经解除连接,无法通过按键关闭mainwindow了