這兩個是QDialog裏纔有的,用如下的步驟之後可以調用accept()和reject()這兩個槽
點擊QT設計師類
我選擇的是沒有按鍵的,按鍵一會可以自己添加
類名可以自己寫,然後點擊下一步即可
最後如下所示y可以看到信號與槽裏面有accept跟reject()
兩種方法可以使用accept()跟reject()
一、可以選擇轉到槽
可以在如下的槽函數中編輯使用
void Login::on_But_login_clicked()
{
if(ui->line_account->text().operator==("adminer")&&ui->line_password->text().operator==("adminer"))
{ accept();
}
else {
QMessageBox::information(this,tr("Warning"),tr("登錄失敗"),QMessageBox::Yes);
ui->line_account->clear();
ui->line_password->clear();
ui->line_account->setFocus();//將光標移動到用戶名框內
}
}
void Login::on_But_exit_clicked()
{
reject();//等於close關閉窗口
}
然後主函數中使用這個信號可以作爲界面的切換
#include "mainwindow.h"
#include "loginform.h"
#include "login.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Login w1;//登錄窗口新建的對象
MainWindow w;//新建的主窗口的對象
if(w1.exec()==QDialog::Accepted)//利用Accepted 信號判斷enterButn是否按下
{
w.show(); //如果按下了顯示主窗口
return a.exec(); //程序一直執行,直到主窗口關閉
}
else {
return 0; //如果沒有按下則不會進入主窗口,整個程序結束運行
}
}
如圖輸入正確的用戶名跟密碼以後,點擊登錄
可以進入了主界面
二、也可以自己添加按鈕可以拖入pushbutton然後按下F4按鍵會如圖所示:
此時再拖拽按鈕到此空白區域:
就會出現accept與reject兩個槽了