主要代码的实现:

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实践基础-简单的登录界面的实现的更多相关文章

  1. sencha做个简单的登录界面

    很多人都在群里问要一个好看的登录界面,我表示很无奈,哪有好看的,每个人的要求不一样,要好看的只有自己做. 下面是我自己整理的一个通用版的登录界面,稍做修改,很容易能变成你想要的界面, 不说废话,直接上 ...

  2. CSS样式案例(2)-制作一个简单的登录界面

    首先来张完工的效果图. 一.html文件如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  3. 使用Axure RP原型设计实践03,制作一个登录界面的原型

    本篇体验做一个登录界面的原型. 登录页 首先在Page Style里为页面设置背景色. 如果想在页面中加图片,就把Image部件拖入页面,并设置x和y轴.双击页面中的Image部件可以导入图片.在Im ...

  4. 零基础~仿qq登录界面

    html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...

  5. JAVA web简单的登录界面jsp实现

    此次试验所用到的软件是myeclipse10,tomcat7,Dreamweaver,sqlserver2008数据库.可以实现用户使用用户名和密码登录.如果登录成功,页面会显示登录成功,如果密码错误 ...

  6. 混合开发的大趋势之一React Native之简单的登录界面

    转载请注明出处:王亟亟的大牛之路 这些天都在学习RN这部分吧,然后写了个简单的登陆业务,从"实战"中讲解吧 还是继续安利:https://github.com/ddwhan0123 ...

  7. 第一次Java作业——简单的登录界面

    千里之行,始于足下,从小做起,一点一滴学编程. import javax.swing.*; import java.awt.*; public class Homework{ public stati ...

  8. EditText制作简单的登录界面

    EditText与之前的TextView和Button的用法大体相同,用法案例如下: activity_edit_text.xml: <?xml version="1.0" ...

  9. JavaSwing+Mysql实现简单的登录界面+用户是否存在验证

    原生Java+mysql登录验证 client login.java 功能:实现登录页面,与服务端传来的数据验证 package LoginRegister; import java.awt.Cont ...

随机推荐

  1. ajax--->http头信息的content-type是application/x-www-form-urlencoded或application/json区别

    ajax请求时http头信息的content-type是application/x-www-form-urlencoded或application/json区别 content-type请求头是干嘛的 ...

  2. Linux 常用工具sysstat之sar

    sysstat包 iostat.sar.sa1和sa2命令都是sysstat包的一部分.它是Linux包含的性能监视工具集合: sar:收集.报告或存储信息(CPU.内存.磁盘.中断.网卡.TTY.内 ...

  3. 微信小程序 客户端时间 与 服务端时间

    服务端时间 db.serverDate(); 在操作数据库,上传数据的时候可以使用服务端时间 wx.cloud.init();//初始化云 const db = wx.cloud.database() ...

  4. Unreal Engine 4 蓝图完全学习教程(三)—— 节点的基本知识

    Ⅰ.节点的种类 ①标题:在节点的上方显示着节点的标题,标题部分会根据节点类型显示不同的颜色. ②输入:用于从其他节点接收数据以获取必要的数值. ③输出:将这个节点计算出结果用于传递数值到其他节点. ( ...

  5. Eclipse中文语言包安装和设置中文

    对于英语水平不好或者初学者来说使用中文开发环境可以有效提高学习效率,便于快速的学习和上手,不过对于当前的技术环境学习英语还是非常有必要的,当对Eclipse掌握到一定程度还是应该多使用英语环境来开发, ...

  6. Exchange2010安装指南

    安装流程参考下面的: https://jingyan.baidu.com/article/2c8c281d6893680008252a9c.html 安装环境:windows server 2008( ...

  7. CCF_201312-4_有趣的数

    dp题,dp[i][j]代表i位数,j状态的数量.其中,j 的状态表示值有6种. 0 1 2     √ j = 0 3 01 02   √ j = 1 03 12 13 23   √ j = 2 0 ...

  8. sqlserver backup and restore -- partital restore

    Like a tratitional database, sqlserver not only could resotre full database but also do restore one ...

  9. SPH液面重构过程中的问题

    使用粒子方法进行流体特效模拟需要进行液面重构,构造出流体的自由表面,液面重构方法也是一个独立的研究方向,针对其的研究已经有了很多成果,包括液面的平滑度.精度和并行效率等. 在这里,主要是记录一下我在液 ...

  10. node.js+express+mongoose实现用户增删查改案例

    node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...