标题:三、Qt Creator登录对话框(原创)
作者:yafei86
日期:2009-10-18 18:45
内容:
到我的空间查看完整的图文介绍:点这里
实现功能:
在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告对话框。
实现原理:
通过上节的多窗口原理实现由登录对话框进入主窗口,而用户名和密码可以用if语句进行判断。
实现过程:
1.先新建Qt4 Gui Application工程,工程名为mainWidget,选用QWidget作为Base class,这样便建立了主窗口。文件列表如下:
2.然后新建一个Qt Designer Form Class类,类名为loginDlg,选用Dialog without Buttons,将其加入上面的工程中。文件列表如下:
3.在logindlg.ui中设计下面的界面:行输入框为Line Edit。其中用户名后面的输入框在属性中设置其object Name为usrLineEdit,密码后面的输入框为pwdLineEdit,登录按钮为loginBtn,退出按钮为exitBtn。
4.将exitBtn的单击后效果设为退出程序,关联如下:
5.右击登录按钮选择go to slot,再选择clicked(),然后进入其单击事件的槽函数,写入一句
void loginDlg::on_loginBtn_clicked()
{
accept();
}
6.改写main.cpp:
#include
#include "widget.h"
#include "logindlg.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
loginDlg login;
if(login.exec()==QDialog::Accepted)
{
w.show();
return a.exec();
}
else return 0;
}
7.这时执行程序,可实现按下登录按钮进入主窗口,按下退出按钮退出程序。
8.添加用户名密码判断功能。将登陆按钮的槽函数改为:
void loginDlg::on_loginBtn_clicked()
{
if(m_ui->usrLineEdit->text()==tr("qt")&&m_ui->pwdLineEdit->text()==tr("123456"))
//判断用户名和密码是否正确
accept();
else{
QMessageBox::warning(this,tr("Warning"),tr("user name or password error!"),QMessageBox::Yes);
//如果不正确,弹出警告对话框
}
}
并在logindlg.cpp中加入#include 的头文件。如果不加这个头文件,QMessageBox类不可用。
9.这时再执行程序,输入用户名为qt,密码为123456,按登录按 ..
#1 [wd007 11-26 23:49]
这个不错,后面一张图没有贴出来。
#2 [sdenven 12-02 21:05]
顶一个!!
#3 [coconut8088 02-02 22:26]
顶!运行结果呢
#4 [hanborn 03-27 19:23]
m_ui 是什么?