Qt Qwdget 汽车仪表知识点拆解6 自定义控件
先贴上效果图,注意,没有写逻辑,都是乱动的
这里说一下控件自定义
图中标出的部分都是自定义的控件
这里如果我们有批量类似的功能,就可以使用自定义控件的方式,这里我已下面的自定义控件说一下,上面的在上一篇文章中已经有了代码了
选着项目,鼠标邮件,添加新文件
选择C++类,再选择C++ class
完了点击Choose就可以了
填写自己的类的名称,下面是你要自定义那个控件,一般就把那个控件作为基类,例如QLabel
记得要包好QObject,不然有好多Qt的功能是无法使用的
剩下的就是在类中实现你的功能
这里贴下我的代码,我的功能及时欢每个label的资源文件
.H
#ifndef MQLABEL_NUMBER_H
#define MQLABEL_NUMBER_H#include <QObject>
#include <QLabel>
class MQlabel_Number : public QLabel
{Q_OBJECT
public:explicit MQlabel_Number(QWidget *parent = 0);void set_number(int num = 0);
signals:public slots:
};#endif // MQLABEL_NUMBER_H
.CPP
#include "mqlabel_number.h"MQlabel_Number::MQlabel_Number(QWidget *parent) : QLabel(parent)
{this->resize(16,16);
}void MQlabel_Number::set_number(int num)
{switch (num) {case 0:this->setStyleSheet("border-image:url(:/source/numberl/0.png)");break;case 1:this->setStyleSheet("border-image:url(:/source/numberl/1.png)");break;case 2:this->setStyleSheet("border-image:url(:/source/numberl/2.png)");break;case 3:this->setStyleSheet("border-image:url(:/source/numberl/3.png)");break;case 4:this->setStyleSheet("border-image:url(:/source/numberl/4.png)");break;case 5:this->setStyleSheet("border-image:url(:/source/numberl/5.png)");break;case 6:this->setStyleSheet("border-image:url(:/source/numberl/6.png)");break;case 7:this->setStyleSheet("border-image:url(:/source/numberl/7.png)");break;case 8:this->setStyleSheet("border-image:url(:/source/numberl/8.png)");break;case 9:this->setStyleSheet("border-image:url(:/source/numberl/9.png)");break;default:break;}
}
剩下的就是把自己的控件提升为自己的控件可以了
由于我的控件已经提升,这里显示可能不一样
这这里填写你提升控件的类名
点击提升就好了
完成
Qt Qwdget 汽车仪表知识点拆解6 自定义控件相关推荐
- Qt Qwdget 汽车仪表知识点拆解2 图像放大
先贴上效果图,注意,没有写逻辑,都是乱动的 这里讲下 这个小汽车的进入过程,其实这个说白了就没有技术含量了,本来应该趁着这个机会学习一下Qt的动画机制,不过随机一想,这个自己写也累不到那里去 下面说下 ...
- Qt Qwdget 汽车仪表知识点拆解4 另类进度条实现
先贴上效果图,注意,没有写逻辑,都是乱动的 注意看一下,右面的这两个进度条,有瑕疵,就是我没有把图片处理干净,这里犹豫我不知道这个具体的弧度,也没法绘制,就偷懒了 现在上面放一个UI,把两个进度条抠空 ...
- Qt Qwdget 汽车仪表知识点拆解8 淡入效果
先贴上效果图,注意,没有写逻辑,都是乱动的 看下面的开始,开始的时候有一个带入的效果,这里有一个坑, 网上大部分都是调用下面这个函数 setWindowOpacity(); 但是,你会发现,在你的子窗 ...
- Qt Qwdget 汽车仪表知识点拆解1 速度表示
先贴上效果图,注意,没有写逻辑,所以这些都是乱动的 这里线主要说一下中间显示速度的显示制作的方式,在这里,自己专门写了一个数字的仪表 考虑的一般的汽车是没有办法把瞬时速度提升到四位数的,所以我这里就放 ...
- 【Qt教程】2.6 - Qt5 自定义控件封装
自定义控件是将原有控件组合.封装,并填入自定义功能,留出适当的函数接口,方便其他控件的调用.设计窗口时,可以将控件拖入,方便模块化设计. GitHub代码仓库:Qt学习例程 1. 建立工程.新建自定义 ...
- Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)...
一.自定义控件大全 (一).控件介绍 超过150个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...
- Qt Clion使用飞扬青云的自定义控件
飞扬青云自定义控件下载 按照对应版本下载自定义控件 修改clion cmake cmake_minimum_required(VERSION 3.15) set(PROJECT_NAME TEST) ...
- Qt/C++常规知识点
文章目录 前言 一.Qt基础知识点 1.信号槽 2.UI设计 3.流 4.网络 5.多线程 6.Qt类 7.Qt指针 二.C++基础知识点 1.基础 2.数组和指针 3.内存 4.系统 5.网络 6. ...
- Qt实践|HTTPS知识点-SSL socket获取百度首页
目录 基本概念 代码与实例 基本概念 这里要明确一点,HTTP/HTTPS是应用层协议,而socket一般指TCP/UDP协议,也就是在传输层中,而IP协议是在网络层中! 这个实例主要是撸socket ...
最新文章
- 关于学习Python的一点学习总结(33->继承中内置方法及多继承)
- JDBC连接数据库过程
- SAP MM 采购申请中的物料组字段改成Optional
- 安卓连接linux软件,利用 Telnet 无线控制安卓手机 无需 Root
- 进程间的通信方式(二):管道Pipe和命令管道FIFO
- python爬取知乎标题_python爬知乎热榜
- java 自定义xml_6.1 如何在spring中自定义xml标签
- 深入掌握JMS(五):实战Topic
- mysql创建表并初始化_MainSetup初始化进行创建表(mysql)失败
- MFC画图(画线、画矩形、画刷画笔的使用)
- MySQL:日期函数、时间函数总结(MySQL 5.X)
- Python:猜拳游戏项目(excel形式保存信息)
- poj1392 Ouroboros Snake 欧拉回路
- 华为linux默认密码,登录存储系统CLI管理界面(用户名+密码)
- android 读build.prop,Android build.prop简介
- [SOLVED]Manjaro内核更新后,Nvidia驱动无法链接的问题
- 如何用 IT 业者能听懂的话介绍量子计算的原理?
- 图结构解决农夫过河问题(二附源代码)
- CERC 2014 Outer space invaders (hnuoj13405)
- 网络编辑招聘笔试题(答案)
热门文章
- 夜间那么暗,智汀智能摄像头代你看
- ygo游戏王卡组_【YGO游戏王】卡组介绍——英雄(文字版)
- tenda 服务器无法打开网页,腾达路由器打不开网页怎么办
- 大数据时代的“巫师”
- [vmware]另类解决vmware关闭win10死机或蓝屏问题
- 外客户为什么要验厂?外贸公司怎么应对验厂?
- 关于mnn模型输出的数据杂乱无章问题
- Go 语言如何从 Channel 读取资料
- Java串口通信报错# Problematic frame: # C [rxtxSerial.dll+0x4465](含详细解决流程)
- 金域医学携手华为云举办首届“域见杯”医检人工智能开发者大赛