经验大分享:QtQwdget汽车仪表知识点拆解6自定义控件

简介: 经验大分享:QtQwdget汽车仪表知识点拆解6自定义控件

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

这里说一下控件自定义

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

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

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

选择C++类,再选择C++ class

完了点击Choose就可以了

填写自己的类的名称,下面是你要自定义那个控件,一般就把那个控件作为基类,例如QLabel

记得要包好QObject,不然有好多Qt的功能是无法使用的

剩下的就是在类中实现你的功能

这里贴下我的代码,我的功能及时欢每个label的资源文件

.H

#ifndef MQLABEL_NUMBER_H

#define MQLABEL_NUMBER_H

#include

#include

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);

}//代码效果参考:http://www.ezhiqi.com/zx/art_4096.html

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;

}//代码效果参考:http://www.ezhiqi.com/zx/art_7546.html

}//代码效果参考:http://www.ezhiqi.com/bx/art_7069.html

剩下的就是把自己的控件提升为自己的控件可以了

由于我的控件已经提升,这里显示可能不一样

这这里填写你提升控件的类名

点击提升就好了

完成

相关文章
|
数据采集 人工智能 文字识别
高能力全透明双语大语言模型MAP-Neo完全开源,开放所有细节!
近年来,大型语言模型 (LLMs) 在各种任务中取得了前所未有的性能提升。然而,由于商业利益,最强大的模型(如 GPT、Gemini 和Claude)只能通过API访问,并未公开训练细节。
|
存储 编译器 C语言
C++初阶(四)类和对象
C++初阶(四)类和对象
101 0
|
编解码 计算机视觉
Matlab常用图像处理命令108例(二)
Matlab常用图像处理命令108例(二)
306 0
python小玩意——使用PIL模块将文本文字放在图片里面
python小玩意——使用PIL模块将文本文字放在图片里面
python小玩意——使用PIL模块将文本文字放在图片里面
|
XML 监控 安全
一起谈.NET技术,使用 Silverlight Media Framework 构建自定义播放器
流媒体已在网络上无处不在。似乎所有人(从新闻站点到社交网络再到隔壁的邻居)都在享受在线视频体验。由于用户群的不断攀升,大多数站点需要以一种值得信赖、用户友好的方式为其客户提供高品质视频,通常为高品质带宽感知 视频。
1247 0
|
API Android开发 人工智能
13.源码阅读(启动一个没有注册的Activity为何会抛出异常-have you declared this activity in your AndroidManifest.xml?--android api 23)
app中每一个activity都要在AndroidManifest文件中配置,否则启动会抛出异常 Unable to find explicit activity class .
1982 0
|
6天前
|
云安全 监控 安全