这两个是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两个槽了