//mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog> namespace Ui { class MyDialog; } class MyDialog : public QDialog { Q_OBJECT public: explicit MyDialog(QWidget *parent = 0); ~MyDialog(); private slots: void on_pushButton_clicked(); private: Ui::MyDialog *ui; };
#endif // MYDIALOG_H
//mydialog.cpp #include "mydialog.h" #include "ui_mydialog.h" MyDialog::MyDialog(QWidget *parent) : QDialog(parent), ui(new Ui::MyDialog) { ui->setupUi(this); } MyDialog::~MyDialog() { delete ui; } void MyDialog::on_pushButton_clicked() { if(ui->lineEdit->text() == "jame" && ui->lineEdit_2->text() == "123"){accept();} }
//mywidget.h #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> namespace Ui { class MyWidget; } class MyWidget : public QWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = 0); ~MyWidget(); private: Ui::MyWidget *ui; public slots: void on_showChildButton_clicked(); private slots: void on_pushButton_clicked(); }; #endif // MYWIDGET_H
//mywidget.cpp #include "mywidget.h" #include "ui_mywidget.h" #include <QDialog> // 包含头文件 #include "mydialog.h" #include <QDebug> MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->setupUi(this); } MyWidget::~MyWidget() { delete ui; } // 显示子窗口按钮 void MyWidget::on_showChildButton_clicked() { QDialog *dialog = new QDialog(this); dialog->show(); } // 重新登录按钮 void MyWidget::on_pushButton_clicked() { // 先关闭主界面,其实是隐藏起来了,并没有真正退出 close(); // 新建MyDialog对象 MyDialog dlg; // 如果按下了“进入主窗口”按钮,则再次显示主界面 // 否则,因为现在已经没有显示的界面了,所以程序将退出 if(dlg.exec()== QDialog::Accepted) show(); }
//main.cpp #include <QApplication> #include "mywidget.h" #include "mydialog.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); MyWidget w; MyDialog dialog; //新建MyDialog类对象 if(dialog.exec() == QDialog::Accepted){ //判断dialog执行结果 w.show(); //如果是按下了“进入主界面”按钮,则显示主界面 return a.exec(); //程序正常运行 } else return 0; //否则,退出程序 }
时间: 2024-10-06 11:33:54