#include "mainwindow.h"#include <QApplication>#include "logindialog.h"#include<QDialog>int main(int argc, char *argv[]){QApplication a(argc, argv);MainWindow w;//创建了一个模态对话框dlg,模态对话框不关闭无法操作其他窗口LoginDialog dlg;if(dlg.exec()==QDialog::Accepted){w.show();return a.exec();}else return 0;}
#include "logindialog.h"#include "ui_logindialog.h"#include<QMessageBox>LoginDialog::LoginDialog(QWidget *parent) :QDialog(parent),ui(new Ui::LoginDialog){ui->setupUi(this);}LoginDialog::~LoginDialog(){delete ui;}void LoginDialog::on_loginBtn_clicked(){//在UI界面拖拽控件都需要用ui->引用 例ui->xxxx->xxx()//如果是直接用代码完成的则用.连接 例xxxx.xxx()//trimmed()去除字符串前空格,tr()处理翻译字符串if(ui->usrLineEdit->text().trimmed()==tr("lixianyu")&&ui->pwdLineEdit->text()==tr("123456789")){//accept()函数是QDialog类提供的槽函数,作用执行时隐藏模态对话框,打破模态对话框模态状态accept();}else{QMessageBox::warning(this,tr("Waring"),tr("user name or password error!"),QMessageBox::Yes);//清空clear(),放置光标setFocus()。ui->usrLineEdit->clear();ui->pwdLineEdit->clear();ui->usrLineEdit->setFocus();}}
自定义对话框
文件对话框
Qt文件对话框类QFileDialog继承自QDialog
输入对话框类QInputDialog
QString Filename = QFileDialog::getOpenFileName(this,"打开文件","C:/")
qDebug()相当于C语言printf打印
