QT之创建登录对话框(十五)
admin
2023-07-27 22:20:05
0次
    之前我们介绍了对话框的相关知识,那么今天我们就来创建一个登录对话框,包含用户名和密码的这么一个可复用的模板。

需求分析:登录对话框是应用程序中的常用部件。可复用软件部件,获取用户名和密码。最终我们将要做成如下所示的界面:
QT之创建登录对话框(十五)
登录对话框的设计与架构关系如图所示:
QT之创建登录对话框(十五)
我们 Widget 的头文件和 .cpp 文件实现如下所示:
QT之创建登录对话框(十五)QT之创建登录对话框(十五)
登录界面的头文件如下所示:
QT之创建登录对话框(十五)
其中界面按钮的实现程序如下:
QT之创建登录对话框(十五)
Login 和 Cancel 的点击响应我们就做了打印函数名。
最终构建运行得到的效果图如下所示:
QT之创建登录对话框(十五)
我们现在已经做出大概界面了。但是还存在几个问题:密码是明文,它的界面大小还是可变的。再者我们在登录和取消的时候只是加了打印语句,并没有做相应的处理。那么我们下来就要来解决这几个问题。
我们在帮助中搜索 QLineEdit 关键字,那么就会看见带有 Password 的属性,如下图所示:
QT之创建登录对话框(十五)
那么我们在 QLoginDialog 函数中加上 PwdEdit.setEchoMode(QLineEdit::Password)这句。我们再次构建运行,得到如下所示:
QT之创建登录对话框(十五)就在
那么密码显示的问题我们已经解决,我们再加上之前学过的 setFixedSize函数,那么它的窗口的大小就不可变了。
那么如果我们想要获取用户输入的用户名和密码怎么做呢?就是如何在两个不同对话框间传递数据。通过附加的成员变量和成员函数完成不同对话框间的数据传递!如下:
QT之创建登录对话框(十五)
我们在登录和取消响应的函数中做如下处理:
QT之创建登录对话框(十五)
m_user后面的 .trimmed() 属性意思是去除用户名中的空格。我们在到 Widget 中的 TestBtn_Clicked 函数中添加如下代码:
QT之创建登录对话框(十五)
那么此时我们就能获取到用户名和密码了,构建运行下。效果图如下所示:
QT之创建登录对话框(十五)
如果我们点击的是登录,则会打印出用户名和密码,而且点击完,登录对话框则会消失。如果点击的是取消,则不会打印什么东西,对话框消失。
本节我们先学习到这了,基本目的已经达成。我们通过本节总结如下:登录对话框可作为可复用对的软件部件进行开发;对话框之间是通过成员变量和成员函数进行数据的传递的,具体来说就是将用户数据保存在私有成员变量中,通过共有成员函数进行数据的传递。
那么后面我们会进行进一步的开发:例如检查用户名和密码是否为空,就是为空时进行错误提示; 登录对话框里面的随机码的验证,当验证码输入错误时进行提示,验证码随机刷新等。 我们会在后面继续进行试验。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...