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

这里说一下控件自定义

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

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

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

选择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. POJ 2704 Pascal's Travels 【DFS记忆化搜索】

    题目传送门:http://poj.org/problem?id=2704 Pascal's Travels Time Limit: 1000MS   Memory Limit: 65536K Tota ...

  2. 【luogu P1993 小K的农场】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1993 1.差分约束: 对于a - b <= c 有一条 b-->a 权值为c 对于a - b & ...

  3. ASP.NET mvc 验证码 (转)

    ASP.net 验证码(C#) MVC http://blog.163.com/xu_shuhao/blog/static/5257748720101022697309/ 网站添加验证码,主要为防止机 ...

  4. LinQ 简介

    LinQ是3.0新加的语法.用起来比较方便,我们可以使用较简单的方法来过滤数据和处理数据. 使用场景: 可以看到LINQ使用场景还是很多的.现在写项目基本都会用到. 在出现委托之前,我们来查找对象 在 ...

  5. js,h5页面判断客户端是ios还是安卓

    $(function(){ var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf('An ...

  6. Django-rest-framework(七)swagger使用

    在我们接口开发完之后,需要交付给别人对接,在没有使用swagger的时候,我们需要单独编写一份api接口文档,由postman之类的工具进行请求得到返回的结果.而有了swagger之后,可以通过提取接 ...

  7. 访问oracle数据库

    如果是本地 :sqlplus system/xxx(用户名/密码) 远程到服务器, sqlplus system/xxx(用户名/密码) @IP:port/orcl(orcl为数据库实例)

  8. 一位90后程序员的自述:如何从年薪3w到30w

    ▌自我介绍 引用赵真老师的一首歌<过去不是错>中的一句话:过去不是过错,毕竟我们也开心过.过去不是过错,何必愧疚不知所措. 我们这一代人,我相信多少都会有人和我一样,坚持过一个游戏,叫 D ...

  9. 【2017 World Final E】Need For Speed(二分)

    Sheila is a student and she drives a typical student car: it is old, slow, rusty, and falling apart. ...

  10. Mybatis中多个参数的问题&&动态SQL&&查询结果与类的对应

    ### 1. 抽象方法中多个参数的问题 在使用MyBatis时,接口中的抽象方法只允许有1个参数,如果有多个参数,例如: Integer updatePassword( Integer id, Str ...