1 新建项目
![9d638b810304273705d3c723d4fe5581.png](https://img-blog.csdnimg.cn/img_convert/9d638b810304273705d3c723d4fe5581.png)
2 项目类信息
![4efeeab76fa7c2a380d51b0ea3fcc44d.png](https://img-blog.csdnimg.cn/img_convert/4efeeab76fa7c2a380d51b0ea3fcc44d.png)
3 新建一个UI模板
![4c8c3efce269757084a12d9802344ac2.png](https://img-blog.csdnimg.cn/img_convert/4c8c3efce269757084a12d9802344ac2.png)
4 选择界面模板
![54d9e63c107205b095894ccf58c961ce.png](https://img-blog.csdnimg.cn/img_convert/54d9e63c107205b095894ccf58c961ce.png)
5 选择类名
![54711d5ba8a73a056ee0356b0e173f93.png](https://img-blog.csdnimg.cn/img_convert/54711d5ba8a73a056ee0356b0e173f93.png)
6 添加控件
![c694deee529d618d8ee613d14e955d55.png](https://img-blog.csdnimg.cn/img_convert/c694deee529d618d8ee613d14e955d55.png)
7 为login按钮添加消息响应clicked
(右击按钮→转到槽→选择clicked())
//lgoginDlg.h的lgoginDlg类声明自动添加:private slots: void on_loginBtn_clicked();
槽函数定义:
//lgogindlg.cppvoid lgoginDlg::on_loginBtn_clicked(){ if(ui->usr->text()==tr("qt").trimmed() && ui->pwd->text() ==tr("123")) accept(); else { QMessageBox::warning(this,tr("Warning"),tr("user name or password error!"),QMessageBox::Yes); ui->usr->clear(); ui->pwd->clear(); ui->usr->setFocus(); }}
8 在main.cpp添加部分代码
//main.cpp#include "widget.h"#include #include "lgoginDlg.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; lgoginDlg login; if(login.exec()==QDialog::Accepted) { w.show(); return a.exec(); } else return 0;}
9 在lgoginDlg类构造函数中初始化密码框
//lgogindlg.cpplgoginDlg::lgoginDlg(QWidget *parent) : QDialog(parent), ui(new Ui::lgoginDlg){ ui->setupUi(this); ui->pwd->setEchoMode(QLineEdit::Password);}
10 登录
![2d0948abbca4eb8f0f076247c13e3cc5.png](https://img-blog.csdnimg.cn/img_convert/2d0948abbca4eb8f0f076247c13e3cc5.png)
登录成功后即从登录窗口跳到主窗口:
![f7dc0594afaba75ceea57ebdcef8859b.png](https://img-blog.csdnimg.cn/img_convert/f7dc0594afaba75ceea57ebdcef8859b.png)
-End-