Qt实践基础-简单的登录界面的实现
主要代码的实现:
1、为了更好的实现界面的组织,采用C++直接构建UI
2、登录多次密码错误则断开“确认”按钮的链接
3、注意理解static变量的应用
4、QString类的使用更像继承了string类型,要熟悉它的使用
#include "qwlogin.h" QWLogin::QWLogin(QWidget *parent)
: QWidget(parent)
{
setUI();
initialSignal();
setWindowTitle("登录界面");
} QWLogin::~QWLogin()
{
} void QWLogin::setUI()
{
label3 = new QLabel(tr("登录"));
QFont font = label3->font();
font.setPointSize();
label3->setFont(font);
//登录标题
label1 = new QLabel(tr("用户名:"));
name = new QLineEdit;
QHBoxLayout *input_name = new QHBoxLayout;
input_name->addWidget(label1);
input_name->addWidget(name);
//输入用户名
label2 = new QLabel(tr("密码:"));
password = new QLineEdit;
QHBoxLayout *input_password = new QHBoxLayout;
input_password->addWidget(label2);
input_password->addWidget(password);
//输入密码
btnOK = new QPushButton(tr("确定"));
btnCLOSE = new QPushButton(tr("取消"));
QHBoxLayout *button = new QHBoxLayout;
button->addWidget(btnOK);
button->addStretch();
button->addWidget(btnCLOSE);
//操作按钮
QVBoxLayout *page = new QVBoxLayout;
page->addWidget(label3);
page->addLayout(input_name);
page->addLayout(input_password);
page->addLayout(button);
//构建主页面框架
setLayout(page);//完成布局
} void QWLogin::initialSignal()
{
connect(btnCLOSE,SIGNAL(clicked()),this,SLOT(close()));
connect(btnOK,SIGNAL(clicked()),this,SLOT(on_Login()));
} void QWLogin::on_Login()
{
static int cout = ;
QString user = name->text();
QString pass = password->text();
QString p="";
int lenth = pass.count();
for(int i=;i<lenth;i++)p.append("*");
password->setText(p);
if(user=="savenneer"&&pass=="cymasd")
p=" 登录成功";
else {p=" 登录失败";cout++;}
if(cout>=)
{
p = "失败操作过多\n禁止登录";
disconnect(btnOK,SIGNAL(clicked),this,SLOT(on_Login()));
}
int len = user.count();
if(len==||lenth==){p="未输入内容";cout--;}
label3->setText(p);
}
头文件的构建:
#ifndef QWLOGIN_H
#define QWLOGIN_H #include <QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
#include <QLayout> class QWLogin : public QWidget
{
Q_OBJECT
private:
QPushButton* btnOK;
QPushButton* btnCLOSE;
QLabel *label1;
QLabel *label2;
QLabel *label3;
QLineEdit *name;
QLineEdit *password; private slots:
void setUI();
void initialSignal();
void on_Login(); public:
QWLogin(QWidget *parent = nullptr);
~QWLogin();
};
#endif // QWLOGIN_H
OK
Qt实践基础-简单的登录界面的实现的更多相关文章
- sencha做个简单的登录界面
很多人都在群里问要一个好看的登录界面,我表示很无奈,哪有好看的,每个人的要求不一样,要好看的只有自己做. 下面是我自己整理的一个通用版的登录界面,稍做修改,很容易能变成你想要的界面, 不说废话,直接上 ...
- CSS样式案例(2)-制作一个简单的登录界面
首先来张完工的效果图. 一.html文件如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- 使用Axure RP原型设计实践03,制作一个登录界面的原型
本篇体验做一个登录界面的原型. 登录页 首先在Page Style里为页面设置背景色. 如果想在页面中加图片,就把Image部件拖入页面,并设置x和y轴.双击页面中的Image部件可以导入图片.在Im ...
- 零基础~仿qq登录界面
html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- JAVA web简单的登录界面jsp实现
此次试验所用到的软件是myeclipse10,tomcat7,Dreamweaver,sqlserver2008数据库.可以实现用户使用用户名和密码登录.如果登录成功,页面会显示登录成功,如果密码错误 ...
- 混合开发的大趋势之一React Native之简单的登录界面
转载请注明出处:王亟亟的大牛之路 这些天都在学习RN这部分吧,然后写了个简单的登陆业务,从"实战"中讲解吧 还是继续安利:https://github.com/ddwhan0123 ...
- 第一次Java作业——简单的登录界面
千里之行,始于足下,从小做起,一点一滴学编程. import javax.swing.*; import java.awt.*; public class Homework{ public stati ...
- EditText制作简单的登录界面
EditText与之前的TextView和Button的用法大体相同,用法案例如下: activity_edit_text.xml: <?xml version="1.0" ...
- JavaSwing+Mysql实现简单的登录界面+用户是否存在验证
原生Java+mysql登录验证 client login.java 功能:实现登录页面,与服务端传来的数据验证 package LoginRegister; import java.awt.Cont ...
随机推荐
- Mbp通过筛选器和中间件实现异常,日志,事务及接口返回数据格式化aop处理.
Mbp应用服务层的AOP实现 实现方法:asp.net core mvc 筛选器 + 中间件 日志,事务,和接口返回结果统一格式化采用操作筛选器,而异常处理采用中间件来处理. 最开始,我是打算用aut ...
- springboot2.x整合spring-data-jpa的问题
今天使用springboot整合spring-data-jpa遇到一些问题,直接使用JpaRepository的getOne()方法是会报错的.报错信息为:org.hibernate.LazyInit ...
- web自动化环境配置
1.下载chrome浏览器对应版本的驱动 下载地址:https://npm.taobao.org/mirrors/chromedriver 2.下载后将chromedriver放到python安装路径 ...
- IIS 无法访问请求的页面,因为该页的相关配置数据无效。
解决方法:控制面板-->程序和功能-->打开或关闭windows功能-->角色的这里,如果还未安装“web服务器(IIS)”,则选择“添加”.如果已经安装了,则选择“web服务器(I ...
- LeetCode 304. Range Sum Query 2D - Immutable 二维区域和检索 - 矩阵不可变(C++/Java)
题目: Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper ...
- java配置文件集
<!-- 激活组件扫描功能,扫描aop的相关组件组件 --> <context:component-scan base-package="com.yingjun.ssm.a ...
- 使用stringstream打破字符与其他类型之间的隔阂
考虑这样一个问题:给您一行各位数字,计算它们的和.数字之间用空格隔开.只能使用字符串. 一般考虑使用getchar,但这对于不熟悉 ASCLL 码的同学十分困难.C++的sstream头文件中提供了十 ...
- 剑指offer刷题笔记
删除链表中重复的结点:较难 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4- ...
- 深入JVM垃圾回收机制,值得你收藏
JVM可以说是为了Java开发人员屏蔽了很多复杂性,让Java开发的变的更加简单,让开发人员更加关注业务而不必关心底层技术细节,这些复杂性包括内存管理,垃圾回收,跨平台等,今天我们主要看看JVM的垃圾 ...
- Java Properties的使用
转自:https://www.cnblogs.com/bakari/p/3562244.html 一.Java Properties类 Java中有个比较重要的类Properties(Java.uti ...