本次的程序目的是编写一个登陆界面程序,包含了账号密码确认的功能,输入框设置提示字符,密码框采用password模式,设置登录按钮为默认焦点。基本逻辑为:当输入账户密码时,按回车键或者点击登录按钮,程序判断账号密码是否正确,若正确则弹出主窗口,否则弹出警告框。程序效果如图:
头文件:
#ifndef LOGINDIALOG_H #define LOGINDIALOG_H #include <QDialog> #include<QMessageBox> namespace Ui { class LoginDialog; } class LoginDialog : public QDialog { Q_OBJECT public: explicit LoginDialog(QWidget *parent = 0); ~LoginDialog(); private slots: void on_enter_pushButton_clicked(); private: Ui::LoginDialog *ui; }; #endif // LOGINDIALOG_H
cpp文件
#include "LoginDialog.h" #include "ui_LoginDialog.h" LoginDialog::LoginDialog(QWidget *parent) : QDialog(parent), ui(new Ui::LoginDialog) { ui->setupUi(this); ui->enter_pushButton->setDefault(true); connect(ui->enter_pushButton,&QPushButton::clicked,this,&LoginDialog::on_enter_pushButton_clicked); connect(ui->quit_pushButton,&QPushButton::clicked,this,&LoginDialog::close); } LoginDialog::~LoginDialog() { delete ui; } void LoginDialog::on_enter_pushButton_clicked() { if(ui->user_lineEdit->text() == tr("wangcong") && ui->password_lineEdit->text() == tr("lovefzj")) { accept(); } else { QMessageBox::warning(this,tr("警告"),tr("用户名或密码错误")); ui->user_lineEdit->clear(); ui->password_lineEdit->clear(); ui->user_lineEdit->setFocus(); } }
main函数:
#include "mainwindow.h" #include"LoginDialog.h" #include <QApplication> #include<QDebug> #include<QString> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; LoginDialog enterWindow; if(enterWindow.exec() == QDialog::Accepted) { w.show(); return a.exec(); } else return 0; }