【QT】非常简单的登录界面实现

本系列是作者自学实践过程的记录
本文是关于登录界面设计
有问题欢迎讨论

效果图:
在这里插入图片描述

一、创建项目和主界面

  • 创建Qt Widget Application

在这里插入图片描述

  • 这里我们使用qmake而不是cmake

在这里插入图片描述

  • 这是主界面,登录界面等后面再创建,这里要勾选上generate form,为我们生成ui文件

在这里插入图片描述
创建好就可以到第二步

二、创建login界面

这里只需要右击当前项目文件,添加新文件

在这里插入图片描述

  • 这一步要选择Qt设计器界面类,因为这样会为我们生成.h、.cpp以及ui文件,非常方便

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、login界面设计

login界面很简单,只要加上两个文本条和两个按钮就可以。

效果如下图:

在这里插入图片描述

  • 部件命名如下所示:

在这里插入图片描述

接着就可以设计槽函数,用于登录界面:

在这里插入图片描述

四、槽函数实现页面跳转

页面的显示和隐藏,只需要简单使用window.show()window.hide()

用户名和密码的验证也只需要做QString的字符串验证,源代码如下:

void login::on_pushButton_login_clicked()
{QString name = ui->lineEdit_username->text();QString password = ui->lineEdit_password->text();if (name.compare("admin") == 0 && password.compare("123456") == 0 ){mainwindow = new MainWindow();mainwindow->show();this->hide();}elseif (name == ""){QMessageBox::information(this,"提示","请输入用户名!");ui->lineEdit_username->setFocus();}elseif(password == ""){QMessageBox::information(this,"提示","请输入密码!");ui->lineEdit_password->setFocus();}else{QMessageBox::warning(this,"错误提示","用户名或密码错误");ui->lineEdit_username->clear();ui->lineEdit_password->clear();ui->lineEdit_username->setFocus();}
}void login::on_pushButton_etix_clicked()
{close();
}

最后,在main.cpp 中,先让login的界面显示即可

在这里插入图片描述

至此,就完成一个简单的登录界面的实现了。

如有问题,欢迎评论联系!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/225231.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个性化定制的知识付费小程序,为用户提供个性化的知识服务,知识付费saas租户平台

明理信息科技知识付费saas租户平台 在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和…

【软件工程】可执行文件和数据分离

一、概述 可执行文件和数据分离是一种软件设计策略,旨在将程序代码和程序使用的数据分离存储。这种方法通常用于提高软件的模块化程度和灵活性,以及方便软件的管理和维护。 在可执行文件和数据分离中,程序代码通常以可执行文件的形式存储&a…

负载均衡——Ribbon

文章目录 Ribbon和Eureka配合使用项目引入RibbonRestTemplate添加LoadBalanced注解注意自定义均衡方式代码注册方式配置方式 Ribbon脱离Eureka使用 Ribbon,Nexflix发布的负载均衡器,有助于控制HTTP和TCP客户端的行为。基于某种负载均衡算法(轮…

STM32 cubeMX 人体红外模块实验

本文代码使用HAL库。 文章目录 前言一、人体红外模块介绍工作原理: 二、人体红外原理图解读三、STM32 cubeMX配置红外模块四、代码编写总结 前言 实验开发板:STM32F051K8。所需软件:keil5 , cubeMX 。实验目的:了解 人…

Kali Linux—借助 SET+MSF 进行网络钓鱼、生成木马、获主机shell、权限提升、远程监控、钓鱼邮件等完整渗透测试(二)

远控木马 SET 同时集成了木马生成工具,可以生成木马并调用MSF框架对远程主机进行控制。直接使用MSF生成木马并控制主机的可参考之前另一篇博文:渗透测试-Kali入侵Win7主机。 控制主机 1、运行 SET,选择创建攻击载荷和监听器: 2…

【机器学习】人工智能概述

人工智能(Artificial Intelligence,简称AI)是一门研究如何使机器能够像人一样思考、学习和执行任务的学科。它是计算机科学的一个重要分支,涉及机器学习、自然语言处理、计算机视觉等多个领域。 人工智能的概念最早可以追溯到20世…

云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)

目录 一、理论 1.K8S集群升级 2.环境 3.升级策略 4.master1节点迁移容器运行时(docker → containerd) 5.master2节点迁移容器运行时(docker → containerd) 6.node1节点容器运行时迁移(docker → containerd) 7.升级集群计划(v1.23.14 → v1.24.1&#…

Android 13 - Media框架(28)- ACodec(五)

前面几节我们了解了OMXNodeInstance是如何处理setPortMode、allocateBuffer、useBuffer的,这一节我们再回到ACodec,来看看 ACodec start 的其他部分。 我们首先来回顾一下,ACodec start 的状态切换以及处理的事务,我们用一张不太准…

《LIO-SAM阅读笔记》1.IMU预积分模块

前言: LIO-SAM是一个多传感器融合的紧耦合SLAM框架,融合的传感器类型有雷达、IMU和GPS,其中雷达和IMU在LIO-SAM框架中必须使用的。LIO-SAM的优化策略采用了GTSAM库,GTSAM库采用了因子图的优化方法,其提供了一些列C的外…

华为——使用ACL限制内网主机访问外网网站示例

组网图形 图1 使用ACL限制内网主机访问外网网站示例 ACL简介配置注意事项组网需求配置思路操作步骤配置文件 ACL简介 访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句&#…

BIT-6-指针(C语言初阶学习)

1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 1. 指针是什么? 指针是什么? 指针理解的2个要点: 指针是内存中一个最小单元的编号,也就是地址平时口语中说的指针,通常…

Xcode 编译速度慢是什么原因?如何提高编译速度?

作为一个开发者,我们都希望能够高效地开发应用程序,而编译速度是影响开发效率的重要因素之一。然而,有时候我们会发现在使用 Xcode 进行开发时,译速度非常慢,这给我们带来了不少困扰。那么,为什么 Xcode 的…

Mybatis之Mapper动态代理方式

目录 一、 Mapper动态代理 二.、Mapper动态代理规范 三、Mapper.xml映射文件 1.在src目录下创建mapper文件,在mapper文件下定义mapper接口 2、在StudentMapper接口中编写方法 3、Mapper.xml(映射文件) 四、测试 的Mapper动态代理开发规范 Mapper接口开发方法…

新版IDEA中Git的使用(三)

说明:前面介绍了在新版IDEA中Git的基本操作、分支操作,本文介绍一下在新版IDEA中,如何回滚代码; 分以下三个阶段来介绍: 未Commit的文件; 已经Commit,但未push的文件; 已经push的…

为什么深度学习神经网络可以学习任何东西

下图你所看到的,是著名的曼德尔布罗特集,我们可以见证这个集合呈现出的复杂形态: 要理解神经网络如何学习曼德尔布罗特集,我们首先需要从最基础的数学概念讲起:什么是函数?函数本质上是一个将输入转化为输出…

uniapp APP应用程序iOS没有上架到苹果应用商店如何整包更新?

随着移动互联网的快速发展,uni-app 作为一种跨平台开发框架,受到了广泛欢迎。然而,有时候开发者可能会遇到一个问题:如何为已经发布到苹果应用商店的 uni-app APP 进行整包更新?尤其是当应用还没有上架到苹果应用商店时…

网络通信协议

WebSocket通信 WebSocket是一种基于TCP的网络通信协议,提供了浏览器和服务器之间的全双工通信(full-duplex)能力。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接&#xff…

UDP信号多个电脑的信息传输测试、配置指南

最近要做一个东西,关于一个软件上得到的信号,如何通过连接的局域网,将数据传输出去。我没做过相关的东西,但是我想应该和软件连接数据库的过程大致是差不多的,就一个ip和一个端口号啥的。 一.问题思路 多个设备同时连…

万界星空科技生产管理MES系统中的工时管理

工时管理的重大意义 1.提高生产效率 通过工时管理,企业可以更加精确地掌握研发人员的工时情况,及时调整项目进度和人力安排,提高生产效率。 2.降低人力成本 通过工时管理,企业可以更加精确地核算研发人员的工时费用&#xff0c…

【面试】Java中的多种设计模式(十种主要设计模式)

Java中的多种设计模式(十种主要设计模式) 文章概述 设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。它是软件工程中常见问题的解决方案的一种描述或模板。设计模式可以提供一种通用的、可重用的解决方案,帮助开发…