找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

第3篇 Qt5基础(三)Qt登录对话框

yafeilinux 2017-2-28 00:09 160156人围观 yafeilinux原创

第3篇 Qt登录对话框


版权声明

该文章原创于Qt开源社区(www.qter.org),作者yafeilinux,转载请注明出处!可以到这里对本文进行讨论!

导语

       在前一篇的内容中我们已经实现了登录对话框,这一篇对其进行改进,在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告对话框。应广大Qter的要求,这一节先使用设计器进行讲解,然后再使用纯代码讲解一遍,想学习纯代码编程的小伙伴们努力吧!

环境:Windows 7 + Qt 5.8.0(包含QtCreator 4.2.1


正文


一、使用设计模式创建界面


1.新建Qt Widgets Application,项目名称为login,类名和基类保持MainWindowQMainWindow不变。


2.完成项目创建后,向项目中添加新的Qt设计师界面类,模板选择Dialogwithout Buttons,类名更改为LoginDialog。完成后向界面上添加两个标签Label、两个行编辑器Line Edit和两个按钮Push Button,设计界面如下图所示。

3-1登录对话框设计界面.png

3.先选中用户名后面的行编辑器部件,然后在属性编辑器中将其objectName属性更改为usrLineEdit,如下图所示。下面依次更改其他部件的objectName属性,密码后面的行编辑器为pwdLineEdit,登录按钮为loginBtn,退出按钮为exitBtn

3-2修改objectName.png


4.下面使用另外一种信号和槽的关联方法来设置退出按钮。在设计模式下方的信号和槽编辑器(Signals & Slots Editor)中,先点击左上角的绿色加号添加关联,然后选择发送者为exitBtn,信号为clicked(),接收者为LoginDialog,槽为close()。如下图所示。这样,当单击退出按钮时,就会关闭登录对话框。

3-3信号和槽编辑器中设置关联.png


5.右击登录按钮,在弹出的菜单中选择“转到槽”,然后选择clicked()信号并确定。转到相应的槽以后,添加函数调用:


void LoginDialog::on_loginBtn_clicked()
{
    accept();
}


6.下面到main.cpp文件,更改内容如下:


#include
#include "mainwindow.h"
#include "logindialog.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    LoginDialog dlg;
    if (dlg.exec() == QDialog::Accepted)
    {
       w.show();
       return a.exec();
    }
    else return 0;        
}


7.这时运行程序,按下退出按钮会退出程序,按下登录按钮会关闭登录对话框,并显示主窗口。



1234下一页

173人点赞鲜花

5人点赞握手

3人点赞雷人

2人点赞路过

6人点赞鸡蛋

刚表态过的朋友 (189 人)

原作者: yafeilinux

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!


关于进行手机实名认证的紧急通知!
按照有关部门要求,论坛类网站必须完成手机实名认证才可以进行发帖等操作。希望大家积极配合,为创建一个和谐文明的社区而贡献自己的力量。我们会对会员的隐私进行严格保密,对大家造成的不便深表歉意! 我知道了