主要代码的实现:

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. 用Java实现一个简单的DBMS(总结)

    时间:2020/1/16 写这个DBMS(说DBMS夸张了,应该是一个控制台程序)的起因是数据库实践老师布置的一个大作业,先贴上GitHub地址: https://github.com/machi12 ...

  2. win10下安装Anaconda3

    1.官方下载:https://www.anaconda.com/distribution/#download-section  (最新版直接下即可) 或者国内镜像下载:https://mirrors. ...

  3. tmobst3

    1.(单选题)如果数据库是oracle,则generator属性值不可以使用(). A)native B)identity C)hilo D)sequence 2.(单选题)为了获得用户提交的表单参数 ...

  4. Vmware初次安装虚拟机需要做的一些网络配置——nat模式与桥接模式

    一.本机设置: 1.首先点击图中红线区域: 2.点击网络适配器  3.会出现如下区域: 4.网卡开启后设置ip地址,此处设置的ip和本机的ip没有关系,设置成你虚拟机里面运行的计算机需要的ip地址网段 ...

  5. 【WPF学习】第四十一章 变换

    通过使用变换(transform),许多绘图任务将更趋简单:变换是通过不加通告地切换形状或元素使用的坐标系统来改变形状或元素绘制方式的对象.在WPF中,变换由继承自System.Windows.Med ...

  6. 【WPF学习】第四十三章 路径和几何图形

    前面四章介绍了继承自Shape的类,包括Rectangle.Ellipse.Polygon以及Polyline.但还有一个继承自Shape的类尚未介绍,而且该类是到现在为止功能最强大的形状类,即Pat ...

  7. SpringBoot之ApplicationRunner接口和@Order注解

    我们在开发中可能会有这样的情景.需要在容器启动的时候执行一些内容.比如读取配置文件,数据库连接之类的.SpringBoot给我们提供了ApplicationRunner接口来帮助我们实现这种需求.该接 ...

  8. 【TensorFlow】TensorFlow基础 —— 模型的保存读取与可视化方法总结

    TensorFlow提供了一个用于保存模型的工具以及一个可视化方案 这里使用的TensorFlow为1.3.0版本 一.保存模型数据 模型数据以文件的形式保存到本地: 使用神经网络模型进行大数据量和复 ...

  9. 动手学习pytorch——(3)多层感知机

    多层感知机(multi perceptron,MLP).对于普通的含隐藏层的感知机,由于其全连接层只是对数据做了仿射变换,而多个仿射变换的叠加仍然是一个仿射变换,即使添加更多的隐藏层,这种设计也只能与 ...

  10. python学习(9)字典的基本应用

    字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型.字典可以理解为列表的升级版. dict是无序的 key ...