Qt简单实现密码器控件
本文实例为大家分享了Qt自定义一个密码器控件的简单实现代码,供大家参考,具体内容如下
实现构思:
密码器的功能可以看成是计算器和登陆界面的组合,所以在实现功能的过程中借鉴了大神的计算器的实现代码和登陆界面实现的代码。
实现的效果:

关于密码器控件的不足:
窗口的标题栏不够漂亮,但是由于对时间长度和任务进度的权衡,下次一定进行重绘。
代码思路:
由于我司不用样式表,所以背景由贴图函数完成。在widget中添加按钮控件和文本编辑控件。使用布局函数进行布局,在加上一些简单的逻辑处理功能即可。
首先创建一个工程文件,添加新文件,选择qt 设计师界面类,如下:

进入创建的ui界面后,添加控件进行布局,单一的使用了珊格布局,如下:

在自定义控件的布局中遇到了一些与布局相关的问题:
问题1:如何改变布局内控件的大小? ui中修改方式如下,纯代码实现也可以去帮助手册中查找相同的接口函数。

问题2:布局中控件的位置如何进行更改?
?
| 1 2 |
|
具体size,自行可以调整到比较合适的位置。
源码实现:
calculaterform.h
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
|
calculaterform.cpp
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
|
自定义的按钮源码:
calacutorbutton.h
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
calacutorbutton.cpp
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
|
相关文章:
Qt简单实现密码器控件
本文实例为大家分享了Qt自定义一个密码器控件的简单实现代码,供大家参考,具体内容如下 实现构思: 密码器的功能可以看成是计算器和登陆界面的组合,所以在实现功能的过程中借鉴了大神的计算器的实现代码和登陆界面实现的代码。 …...
fpga_pwm呼吸灯(EP4CE6F17C8)
文章目录 一、呼吸灯二、代码实现三、引脚分配 一、呼吸灯 呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,使用开发板上的四个led灯实现1s间隔的呼吸灯。 二、代码实现 c module pwm_led( input clk ,input rst_n ,output reg [3:0] led ); …...
WPF实战学习笔记20-设置首页启动页
文章目录 设置首页启动页增加配置接口添加接口文件:实现接口 配置启动选项 设置首页启动页 增加配置接口 添加接口文件: Mytodo.Common/IConfigureInterface.cs using System; using System.Collections.Generic; using System.Linq; using System.T…...
uniapp实现预约时间选择弹窗组件
做了个组件,实现出当日预约时间组件,效果图如下 废话不多说,直接上代码,代码简单,参数自己任意改 <template><view class"inventory"><u-popup :show"show" :round"10"…...
opencv 之 外接多边形(矩形、圆、三角形、椭圆、多边形)使用详解
opencv 之 外接多边形(矩形、圆、三角形、椭圆、多边形)使用详解 本文主要讲述opencv中的外接多边形的使用: 多边形近似外接矩形、最小外接矩形最小外接圆外接三角形椭圆拟合凸包 将重点讲述最小外接矩形的使用 1. API介绍 #多边形近似 v…...
断路器分合闸速断试验
试验目的 高压断路器的分、 合闸速度是断路器的重要特性参数, 反映出断路器的操动机构 与传动机构在分、 合闸过程中的运动特征。 断路器分、 合闸速度超出或者低于规定值 均会影响断路器的运行状态和使用寿命。 断路器合闸速度不足, 将会引起触头合闸振 颤, 预击穿时间过长。…...
【Redis】如何实现一个合格的分布式锁
文章目录 参考1、概述2、Redis粗糙实现3、遗留问题3.1、误删情况3.2、原子性保证3.3、超时自动解决3.4、总结 4、Redis实现优缺5、集群问题5.1、主从集群5.2、集群脑裂 6、RedLock7、Redisson7.1、简单实现7.2、看门狗机制 参考 Redisson实现Redis分布式锁的N种姿势 (qq.com)小…...
组件化开发复习
1.vue的根组件使用 // 1.创建appconst app Vue.createApp({// data: option apidata() {return {message: "Hello Vue",counter: 0,counter2: 0,content: ""}},watch: {content(newValue) {console.log("content:", newValue)}}}) createApp 函…...
【设计模式】设计原则-里氏替换原则
里氏替换原则 定义 任何基类可以出现的地方,子类一定可以出现。 通俗理解:子类可以扩展父类的功能,但不能改变父类原有的功能。 换句话说,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类…...
v2ex站点base64编码解码
最近在刷v站,我毕竟也是入坑不久的小白,发现各位兄弟的联系方式都是乱码,我以为是经过md5处理之类的,最后搜了下发现是对信息进行了base64编解码处理,目的是为了防止社工对个人信息的爬取处理。 下面是通过python对个人…...
PostgreSQL数据库动态共享内存管理器——Dynamic shared memory areas
dsm.c提供的功能允许创建后端进程间共享的共享内存段。DSA利用多个DSM段提供共享内存heap;DSA可以利用已经存在的共享内存(DSM段)也可以创建额外的DSM段。和系统heap使用指针不同的是,DSA提供伪指针,可以转换为backend…...
Redission分布式锁详解
前言 在分布式系统中,当不同进程或线程一起访问共享资源时,会造成资源争抢,如果不加以控制的话,就会引发程序错乱。而分布式锁它采用了一种互斥机制来防止线程或进程间相互干扰,从而保证了数据的一致性。 常见的分…...
063、故障处理之快速恢复数据
数据丢失快速恢复的重要性 目的:尽快修复数据,恢复业务 快速恢复相关技术对比 常用备份恢复技术 数据快速恢复原理 MVCC 是TiDB数据库原生的一项功能,默认使用无需配置,它使用多个历史快照的方式来维护数据在某个时间点对并…...
从零开始学习CTF
前言 CTF简介 中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式 CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式 竞赛模式 解题模式: 在解题模式…...
【stable diffusion】保姆级入门课程05-Stable diffusion(SD)图生图-涂鸦重绘的用法
1.什么是涂鸦重绘 涂鸦重绘又称手涂蒙版。 简单来说,局部重绘手涂蒙版 就是涂鸦局部重绘的结合体,这个功能的出现是为了解决用户不想改变整张图片的情况下,对多个元素进行修改。 功能支持: 1.支持蒙版功能 2.笔刷决定绘制的元素…...
HBase 源码编译部署包
1. 版本 Java 版本: 1.8.0_201 HBase 版本: hbase-2.5.5 2.打包 git clone https://github.com/apache/hbase.git cd hbase git checkout branch-2.5 编译整个工程的 tar 包,编译一次 10 分钟左右 mvn clean package assembly:single -DskipTests ll hbase-assemb…...
备战秋招 | 笔试强训16
目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、下列一段 C 代码的输出结果是() #include <iostream> class Base { public:int Bar(char x){return (int)(x);}virtual int Bar(int x){return (2 * x);} }; clas…...
01 Excel常用高频快捷键汇总
目录 一、简介二、快捷键介绍2.1 常用基本快捷键1 复制:CtrlC2 粘贴:CtrlV3 剪切:CtrlX4 撤销:CtrlZ5 全选:CtrlA 2.2 常用高级快捷键1 单元格内强制换行:AltEnter2 批量输入相同的内容:CtrlEnt…...
PHP Laravel 路由、中间件、数据库等例子
以下是使用Laravel框架时的一些常见示例: 1. 路由(Routes): // 定义基本路由 Route::get(/home, HomeControllerindex); // 带有参数的路由 Route::get(/user/{id}, UserControllershow); // 路由组 Route::middleware([auth])-&…...
Unity小游戏——使被砍中的怪物四处飞散
被武士砍中后,怪物将向四面八方飞散。 动作的不同将导致攻击力度的强弱表现不同,被攻击的各个对象的反应也有很大差异。在格斗游戏中,对对手一顿拳打脚踢后,看到其步履蹒跚的样子,往往可以感受到他的疼痛。相反如果对…...
SSD用久了为啥会变慢?深入NAND Flash的‘写放大’与‘磨损均衡’,教你看懂SMART数据避坑
SSD性能下降的真相:从写放大到磨损均衡的深度解析 你是否遇到过这样的困扰——新买的SSD速度飞快,但用了一段时间后,系统响应明显变慢,开机时间延长,文件传输速度大不如前?这种现象并非偶然,而是…...
彩灯广告屏PLC控制S7-200程序:包含梯形图、接线图、原理图及IO分配与组态画面详解
彩灯广告屏的PLC控制S7-200程序 程序 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面上周刚帮客户搞定了一套户外彩灯广告屏的PLC控制项目,用的还是经典的S7-200,本来以为老架构玩不出花…...
论文AIGC全红99%怎么救?2026实测Gemini去痕术:3组指令集联合3大工具,稳稳拉回10%安全线
视角重构,打破“平铺直叙”的机械感 AI生成的最大特征是“正确但平庸的上帝视角”。要ai降ai,第一步不是改词,而是强行植入一个具有批判性的“人类观察者”视角,迫使模型重组叙事逻辑。 核心原理:通过引入“辩证法”…...
Java程序员的云原生时代生存指南:面向软件测试从业者的专业视角
在技术浪潮的冲击下,云原生已从概念演进为产业标准。对于广大Java程序员而言,这既是挑战也是机遇。传统的技术栈和开发模式正在经历深刻变革,而软件测试作为保障质量的关键环节,其理念与实践也随之迭代。 一、 挑战审视ÿ…...
如何用MicroSIP实现远程办公通话?2024最新SIP协议设置指南
2024远程办公通话实战:MicroSIP高级配置与网络优化全攻略 远程办公已成为现代企业运营的标配,而稳定高效的语音通信系统则是团队协作的基石。作为一款轻量级开源SIP客户端,MicroSIP凭借其低延迟、高兼容性和零成本优势,正在成为中…...
小米智能家居跨区域协同控制技术指南
小米智能家居跨区域协同控制技术指南 【免费下载链接】ha_xiaomi_home Xiaomi Home Integration for Home Assistant 项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home 随着智能家居设备数量的快速增长,多区域设备协同工作已成为提升居住体…...
基于离散化方法的三维土豆运动微波加热案例:参数化扫描与继承解算子实现离散化
基于离散化方法三维土豆运动微波加热的案例——第一种方法参数化扫描和继承解的算子实现离散化 离散化方式是最常见的实现运动仿真的方法之一,实现离散化的方法有很多,对于COMSOL主要的离散化及种 目前我研究了三种实现离散化的方法,这三种方…...
Seeed rpcBLE库:RTL8720DN平台的Arduino兼容BLE开发方案
1. 项目概述 Seeed Arduino rpcBLE 是一款面向嵌入式开发者的轻量级蓝牙低功耗(BLE)软件库,专为基于 Realtek RTL8720DN SoC 的 Seeed Studio 开发板(如 Wio Terminal、Wio-E5、W600 系列)设计。该库并非从零实现 BLE…...
告别重复造轮子:用快马AI一键生成无名小站高效开发模板
作为一个经常需要快速搭建小型网站的后端开发者,我最近发现了一个能极大提升开发效率的方法——用InsCode(快马)平台的AI生成功能来创建可复用的基础模块代码。今天就以"无名小站"的后台管理系统为例,分享我的实践心得。 为什么需要代码生成工…...
2025届学术党必备的五大AI写作网站解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek DeepSeek身为新一代人工智能辅助写作工具,于学术论文撰写的整个流程里࿰…...
