QT中button中没有accept()和reject()这两个槽解决办法
生活随笔
收集整理的這篇文章主要介紹了
QT中button中没有accept()和reject()这两个槽解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這兩個是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兩個槽了
總結
以上是生活随笔為你收集整理的QT中button中没有accept()和reject()这两个槽解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT中关于按钮以及菜单栏工具添加图标,以
- 下一篇: arp欺骗攻击——获取内网中用户浏览的图