#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打印