博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
qt的登录设置(转)
阅读量:4661 次
发布时间:2019-06-09

本文共 1961 字,大约阅读时间需要 6 分钟。

1.
下面添加代码来实现使用用户名和密码登录,这里只是简单将用户名和密码设置为了固定的字符串,如果以后学习了数据库,还可以通过读取数据库来获取用户名和密码。到logindialog.cpp
文件中将登录按钮的单击信号对应的槽的代码更改为:
 

 

void
 
LoginDialog
::on_loginBtn_clicked()
{
    
//
 
判断用户名和密码是否正确,
    
//
 
如果错误则弹出警告对话框
    
if
(ui->usrLineEdit->text() == tr("yafeilinux") &&
           
ui
->pwdLineEdit->text() == tr("123456"))
    
{
       
accept
();
    
} else {
       
QMessageBox
::warning(this, tr("
警告!"
),
                   
tr("
用户名或密码错误!"
),
                   
QMessageBox
::Yes);
    
}
}
 
 
       Qt
中的QMessageBox
类提供了多种常用的对话框类型,比如这里的警告对话框,还有提示对话框、问题对话框等。这里使用了静态函数来设置了一个警告对话框,这种方式很便捷,其中的参数依次是:this
表明父窗口是登录对话框、窗口标题、界面显示的内容和最后要显示的按钮,这里使用了一个Yes
按钮。注意还要添加该类的头文件包含,即:
#include
 
 

 

2.
下面运行程序,如果输入用户名为“yafeilinux
”,密码为“123456
,那么可以登录,如果输入其他的字符,则会弹出警告对话框,如下图所示。
 
3-4登录警告对话框.png

3.
对于输入的密码,我们常见的是显示成小黑点的样式。下面点击logindialog.ui
文件进入设计模式,然后选中界面上的密码行编辑器,在属性编辑器中将echoMode
属性选择为Password
。这时再次运行程序,可以看到密码显示已经改变了。如下图所示。
 
3-5密码样式.png

       
当然,除了在属性编辑器中进行更改,也可以在loginDialog
类的构造函数中使用setEchoMode(QLineEdit::Password)
函数来设置。
 

 

4.
在行编辑器的属性栏中还可以设置占位符,就是没有输入信息前的一些提示语句。例如将密码行编辑器的placeholderText
属性更改为“请输入密码”,将用户名行编辑器的更改为“请输入用户名”,运行效果如下图所示。
 

 

3-6占位符.png

5.
对于行编辑器,还有一个问题就是,比如我们输入用户名,在前面添加了一个空格,这样也可以保证输入是正确的,这个可以使用QString
类的trimmed()
函数来实现,它可以去除字符串前后的空白字符。下面将logindialog.cpp
文件中登录按钮单击信号槽函数中的判断代码更改为:
 

 

if
(
ui
->
usrLineEdit
->
text().trimmed() == tr("yafeilinux")
            
&&
 
ui
->
pwdLineEdit
->
text() == tr("123456"))
 
 
       
这时运行程序,已经实现相应的功能了。
 

 

6.
最后,当登录失败后,我们希望可以清空用户名和密码信息,并将光标定位到用户名输入框中。这个可以通过在判断用户名和密码错误后添加相应的代码来实现:
 
 
else
 
{
QMessageBox
::warning(this, tr("
警告!"
),
                     
tr("
用户名或密码错误!"
),
                     
QMessageBox
::Yes);
//
 
清空内容并定位光标
ui->usrLineEdit->clear();
ui->pwdLineEdit->clear();
ui->usrLineEdit->setFocus();
}
 
 
       
下面运行程序,大家可以测试一下效果。
 

 

7.
这里再补充一个技巧,就是Qt Creator
的代码补全功能。Qt Creator
拥有强大的代码补全功能,比如输入一个关键字时,只要输入前几个字母,就会弹出相关的关键字选择列表;输入完一个对象,然后输入点以后,就会弹出该对象所有可用的变量和函数。这里要说的是,当输入一个比较长得函数或变量名时,可以通过其中的几个字母来定位。比如说,要输入前面讲到的setFocus()
函数,那么只需输入首字母s
和后面的大写字母F
即可,这样可以大大缩减提示列表,如果还没有定位到,那么可以输入F
后面的字母o
,定位到需要的函数后,直接按下回车键即可完成输入。如下图所示。
 
3-7代码补全功能.png

 

       
还可以使用ctrl + 
空格键来强制代码补全,不过这个一般会和我们的输入法的快捷键冲突,大家可以更改输入法的快捷键,也可以在Qt Creator
中的工具→选项→环境→键盘中来设置快捷键。

转载于:https://www.cnblogs.com/Pond-ZZC/p/7069162.html

你可能感兴趣的文章
unity常见问题之20题
查看>>
AI类第四周进度
查看>>
SQLServer学习笔记系列7
查看>>
【bzoj1712】[Usaco2007 China]Summing Sums 加密 矩阵乘法
查看>>
如何解决git创建密匙时报错Too many arguments
查看>>
python学习笔记-25 实例属性和类属性
查看>>
python 单例模式
查看>>
Java知识积累——String引用的判断问题
查看>>
Asp.Net Web API 2第七课——Web API异常处理
查看>>
bzoj 2339: [HNOI2011]卡农
查看>>
15-浮动
查看>>
Linux下MySQL表名不区分大小写的设置方法
查看>>
求几天后是几月几号1022
查看>>
vc++网络安全编程范例(20)木马防范检测数据端口与进程
查看>>
Tango with Django 1.9 中文——1.概述
查看>>
年度榜单:2012年最流行的28款免费英文字体素材
查看>>
数据类型范围
查看>>
codeforce 8A-8C
查看>>
湖南省第六届大学生程序设计大赛原题 F Biggest Number (UVA1182)
查看>>
Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
查看>>