第四章 编写登录窗口

时间:2023-01-01 12:26:17

本节要实现的是一个登录窗口,输入正确的密码就能够进入主窗口,错误密码提示错误。

通过上节的多窗口原理实现由登录对话框进入主窗口,而用户名和密码可以用if语句进行判断。

随着我们学习的深入,以后会采用数据库的形式保存。

实现过程:

1.先新建Qt4 Gui Application工程,工程名为login,选用QmainWindow作为Base class,这样便建立了主窗口。

下面我们要在Main.cpp中添加登录对话框。

首先要新建一个登录的对话框LoginDialog,继承QDialog。下面给大家演示如何添加新的类。

 

第四章 编写登录窗口

第四章 编写登录窗口

 

第四章 编写登录窗口

 

第四章 编写登录窗口

 

第四章 编写登录窗口

这样就完成了登录窗口类的添加,下面要在窗口中添加一些必要的控件。如下图所示

第四章 编写登录窗口

#include <QtGui/QApplication>

#include "mainwindow.h"

#include "logindialog.h"

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

LoginDialog *login = new LoginDialog();

mainWindow w;

if(login->exec() == QDialog::Accepted){

w.show();

return a.exec();

}else

return 0;

}

下面实现LoginDialog的相关函数,在按键上右键转到槽函数,跳到按钮的点击响应函数

第四章 编写登录窗口

第四章 编写登录窗口

实现关闭程序很简单,只要调用close()函数就可以了。

同样的方法,下面实现最主要的函数,就是登录的响应函数。

void LoginDialog::on_pbLogout_clicked()

{

close();

}

void LoginDialog::on_pbLogin_clicked()

{

if(ui->leUserName->text() == "hyarm" && ui->lepasswd->text() == "123456")

accept();

else

QMessageBox::information(this,tr("提示"),tr("密码错误,请重新输入密码"),QMessageBox::Yes);

}

然后运行一下程序,如果输入正确的密码就会显示主对话框,如果输入错误就会提示错误。

第四章 编写登录窗口

 

我们还要添加一下QTextCodec,解决乱码的问题。

在main.cpp中添加头文件。

 

#include <QTextCodec>

在main函数中添加如下代码

 

QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

一般情况下,如果我们输入错了密码,会把密码一项清空,等待用户输入,只要在错误提示的后面添加如下代码即可。

QMessageBox::information(this,tr("提示"),tr("密码错误,请重新输入密码"),QMessageBox::Yes);

ui->lepasswd->clear();

ui->leUserName->clear();//清除两个对话框

ui->leUserName->setFocus();//设置用户名对话框为焦点,方便用户输入

 

今天简单的给大家讲了如何建立一下登录对话框,华越嵌入式将陆续为大家介绍Qt的开发及应用。敬请关注