先贴上效果图,注意,没有写逻辑,都是乱动的

这里说一下控件自定义

图中标出的部分都是自定义的控件

这里如果我们有批量类似的功能,就可以使用自定义控件的方式,这里我已下面的自定义控件说一下,上面的在上一篇文章中已经有了代码了

选着项目,鼠标邮件,添加新文件

选择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 自定义控件的更多相关文章

  1. Qt Qwdget 汽车仪表知识点拆解2 图像放大

    先贴上效果图,注意,没有写逻辑,都是乱动的 这里讲下 这个小汽车的进入过程,其实这个说白了就没有技术含量了,本来应该趁着这个机会学习一下Qt的动画机制,不过随机一想,这个自己写也累不到那里去 下面说下 ...

  2. Qt Qwdget 汽车仪表知识点拆解8 淡入效果

    先贴上效果图,注意,没有写逻辑,都是乱动的 看下面的开始,开始的时候有一个带入的效果,这里有一个坑, 网上大部分都是调用下面这个函数 setWindowOpacity(); 但是,你会发现,在你的子窗 ...

  3. Qt Qwdget 汽车仪表知识点拆解7 图像绘制,旋转

    先贴上效果图,注意,没有写逻辑,都是乱动的 看下最中心的指针旋转,这里使用的QPainter的绘制函数 要显示复杂的效果,需要分层 void Widget::draw_number_pointer() ...

  4. Qt Qwdget 汽车仪表知识点拆解5 标题栏图标闪烁

    先贴上效果图,注意,没有写逻辑,都是乱动的 看下最上面的部分,有一些仪表图标在闪烁,如果一个一个写,也是可以实现的,不过感觉要累死的节奏 这里我写了一个我自己的Label,完了把把这些QLabel提升 ...

  5. Qt Qwdget 汽车仪表知识点拆解4 另类进度条实现

    先贴上效果图,注意,没有写逻辑,都是乱动的 注意看一下,右面的这两个进度条,有瑕疵,就是我没有把图片处理干净,这里犹豫我不知道这个具体的弧度,也没法绘制,就偷懒了 现在上面放一个UI,把两个进度条抠空 ...

  6. Qt Qwdget 汽车仪表知识点拆解3 进度条编写

    先贴上效果图,注意,没有写逻辑,都是乱动的 这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈 有一个大的widget,根据素材,我放了10个label 剩下的就是写一个函数,根据数据的不同, ...

  7. Qt Qwdget 汽车仪表知识点拆解1 速度表示

    先贴上效果图,注意,没有写逻辑,所以这些都是乱动的 这里线主要说一下中间显示速度的显示制作的方式,在这里,自己专门写了一个数字的仪表 考虑的一般的汽车是没有办法把瞬时速度提升到四位数的,所以我这里就放 ...

  8. Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)

    一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...

  9. Qt中常用知识点

    1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegEx ...

随机推荐

  1. 【转】Java虚拟机类型卸载和类型更新解析

    [摘要]         前面系统讨论过java类型加载(loading)的问题,在这篇文章中简要分析一下java类型卸载(unloading)的问题,并简要分析一下如何解决如何运行时加载newly ...

  2. SpringMVC学习记录六——异常定义和上传图片

    19       异常处理 19.1      异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试 ...

  3. conda清华镜像(TUNA)使用指南

    Details: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ TUNA 提供了 Anaconda 仓库的镜像,运行以下命令: conda c ...

  4. HDU 1216 Assistance Required(暴力打表)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1216 Assistance Required Time Limit: 2000/1000 MS (Ja ...

  5. 使用带有数组的 ng-bind

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  6. order by 排序

    [order by] 排序 asc 升序(从小到大),desc降序(从打到小) 语法: select  列名  from  表  where  条件  order by  列1,列2    asc或d ...

  7. oracle中lock和latch的用途

    本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大 ...

  8. <寒假逆向学习第一天> 破解基础知识之介绍常见工具和壳的特征

    对于我们新手来说,程序是什么语言编写的?程序到底有没有加壳?程序加了什么壳?一直在我们心中充满了疑惑,本文我将根据我的近期学习,总结一下常见的工具和壳的特征. 一:程序是什么语言编译的 从目前接触到程 ...

  9. 汇编:将指定的内存中连续N个字节填写成指定的内容

    1.loop指令实现 ;=============================== ;循环程序设计 ;将制定内存中连续count个字节填写成指定内容(te) ;loop指令实现 DATAS SEG ...

  10. JDK8 新特性

    JDK8 新特性目录导航: Lambda 表达式 函数式接口 方法引用.构造器引用和数组引用 接口支持默认方法和静态方法 Stream API 增强类型推断 新的日期时间 API Optional 类 ...