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 ...
随机推荐
- PSR标准规范
PSR标准规范 基本代码规范 PHP代码文件 必须 以 不带 BOM 的 UTF-8 编码: 类的命名 必须 遵循 StudlyCaps 大写开头的驼峰命名规范: 类中的常量所有字母都 必须 大写,单 ...
- shiro盐值加密并验证
在数据表中存的密码不应该是123456,而应该是123456加密之后的字符串,而且还要求这个加密算法是不可逆的,即由加密后的字符串不能反推回来原来的密码,如果能反推回来那这个加密是没有意义的.著名的加 ...
- discuz如何修改主题列表页增加最后发表用户调用
首页有点问题,我觉得摘要实在太长了,我调整了一下 <!--{if is_array($group['lastpost'])}--> <a href="forum.php?m ...
- uml-类图书写指南
说明 类图是最常用的UML图,面向对象建模的主要组成部分.它用于描述系统的结构化设计,显示出类.接口以及它们之间的静态结构和关系. 类图主要产出于面向对象设计的分析和设计阶段,用来描述系统的静态结构. ...
- python中Threadlocal变量
在多线程环境下,每个线程都有自己的数据.一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁. 不加锁就会出现变量会被修改的问题,进而 ...
- 十五 awk文本处理
Awk 语法和基础命令 以行为处理单位 对数据进行逐行处理 处理完当前行,把当前行的处理结果输出后自动对下一行进行处理 直到文件中所有行处理完为止 创造者:Aho.Weinberger.Kernigh ...
- 用ExpressionTree实现JSON解析器
今年的春节与往年不同,对每个人来说都是刻骨铭心的.突入其来的新型冠状病毒使大家过上了“梦想”中的生活:吃了睡,睡了吃,还不用去公司上班,如今这样的生活就在我们面前,可一点都不踏实,只有不停的学习才能让 ...
- Comet OJ Contest #0 解方程(暴力)
题意: 给定自然数n,求满足$\displaystyle \sqrt{x-\sqrt{n}}=\sqrt{z}-\sqrt{y}$的x,y,z,输出解的个数以及所有解 xyz的和 n<=1e9, ...
- 第3章 JDK并发包(五)
3.3 不要重复发明轮子:JDK的并发容器 3.3.1 超好用的工具类:并发集合简介 JDK提供的这些容器大部分在java.util.concurrent包中. ConcurrentHashMap:这 ...
- 小白的springboot之路(十五)、mybatis的PageHelper分页插件使用
0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--& ...