主要代码的实现:

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. SpringCloud与微服务Ⅴ --- Eureka服务注册与发现

    一.Eureka是什么 Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架构 ...

  2. orcle导入大数据文件

    0,创建ctl文件  内容为 OPTIONS (skip=0) LOAD DATA  CHARACTERSET 'UTF8' INFILE 'F:\anhui_data\20180814\shangh ...

  3. 暑假第七周总结(安装MongoDB和Tomcat以及MongoDB进行编程实践)

    本周主要对MongoDB和Tomcat进行了安装,两项安装都遇到了一些问题.其中在对MongoDB安装过程中出现了什么没有秘钥安全证书的,最终找了一堆教程重复了好多遍之后安装成功,虽然在启动和关闭的时 ...

  4. abp vnext2.0核心组件之领域实体组件源码解析

    接着abp vnext2.0核心组件之模块加载组件源码解析和abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析集合.Net Core3.1,基本环境已经完备, ...

  5. 用什么库写 Python 命令行程序?看这一篇就够了

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  6. mysql基础--查询

    1.mysql查询的五种子句: where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count ...

  7. FFMPEG学习----使用SDL播放PCM数据

    参考雷神的代码: /** * 最简单的SDL2播放音频的例子(SDL2播放PCM) * Simplest Audio Play SDL2 (SDL2 play PCM) * * 本程序使用SDL2播放 ...

  8. how to convert wstring to string

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <local ...

  9. 使用html及CSS实现在table中文字信息超过5个隐藏,鼠标移到时弹窗显示全部:

    使用html及CSS实现在table中文字信息超过5个隐藏,鼠标移到时弹窗显示全部: <!DOCTYPE html><html lang="en">< ...

  10. 洛谷P1649 【[USACO07OCT]障碍路线Obstacle Course】

    题目描述 Consider an N x N (1 <= N <= 100) square field composed of 1 by 1 tiles. Some of these ti ...