一、信號和槽
信號和槽函數都可以自己定義
- 信號在頭文件中聲明即可,不需要實現
- 槽函數需要聲明也需要實現
發送者和接受者爲指針形式
二、信號槽函數爲指針形式
connect(發送者,&QMainWindow::信號,接受者,&QMianWindow::槽函數)
有兩個凹槽的爲槽函數
有兩條弧線像信號發射的爲信號
例:
QPushButton * startBtn = new QPushButton("開始遊戲",this);
connect(startBtn,&QPushButton::clicked,this,&GameWindow::startGame);
三、信號槽函數爲SIGNAL、SLOT形式
connect(發送者,SIGNAL(信號),接受者,SLOT(槽函數))
例:
QPushButton * startBtn = new QPushButton("開始遊戲",this);
connect(startBtn,SIGNAL(clicked()),this,SLOT(startGame()));
四、槽函數爲lamda表達式([=](){}
)形式
信號需要以指針形式,不能用SIGNAL
connect(startBtn,&QPushButton::clicked,[=](){
this->close(); // 寫槽函數需要實現的內容
});