QT connect函數的幾種寫法

一、信號和槽

信號和槽函數都可以自己定義

  • 信號在頭文件中聲明即可,不需要實現
  • 槽函數需要聲明也需要實現

在這裏插入圖片描述
在這裏插入圖片描述
發送者和接受者爲指針形式

二、信號槽函數爲指針形式

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();  // 寫槽函數需要實現的內容
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章