1. #include "mainwindow.h"
  2. #include <QApplication>
  3. #include "logindialog.h"
  4. #include<QDialog>
  5. int main(int argc, char *argv[])
  6. {
  7. QApplication a(argc, argv);
  8. MainWindow w;
  9. //创建了一个模态对话框dlg,模态对话框不关闭无法操作其他窗口
  10. LoginDialog dlg;
  11. if(dlg.exec()==QDialog::Accepted)
  12. {
  13. w.show();
  14. return a.exec();
  15. }
  16. else return 0;
  17. }
  1. #include "logindialog.h"
  2. #include "ui_logindialog.h"
  3. #include<QMessageBox>
  4. LoginDialog::LoginDialog(QWidget *parent) :
  5. QDialog(parent),
  6. ui(new Ui::LoginDialog)
  7. {
  8. ui->setupUi(this);
  9. }
  10. LoginDialog::~LoginDialog()
  11. {
  12. delete ui;
  13. }
  14. void LoginDialog::on_loginBtn_clicked()
  15. {
  16. //在UI界面拖拽控件都需要用ui->引用 例ui->xxxx->xxx()
  17. //如果是直接用代码完成的则用.连接 例xxxx.xxx()
  18. //trimmed()去除字符串前空格,tr()处理翻译字符串
  19. if(ui->usrLineEdit->text().trimmed()==tr("lixianyu")&&ui->pwdLineEdit->text()==tr("123456789"))
  20. {
  21. //accept()函数是QDialog类提供的槽函数,作用执行时隐藏模态对话框,打破模态对话框模态状态
  22. accept();
  23. }
  24. else
  25. {
  26. QMessageBox::warning(this,tr("Waring"),tr("user name or password error!"),QMessageBox::Yes);
  27. //清空clear(),放置光标setFocus()。
  28. ui->usrLineEdit->clear();
  29. ui->pwdLineEdit->clear();
  30. ui->usrLineEdit->setFocus();
  31. }
  32. }

自定义对话框

文件对话框

Qt文件对话框类QFileDialog继承自QDialog
输入对话框类QInputDialog

  1. QString Filename = QFileDialog::getOpenFileName(this,"打开文件","C:/")

qDebug()相当于C语言printf打印