图形绘制-仪表盘(4)

本章节我们介绍如何绘制实时变化的车速及指针对应的位置。

效果如下:

关于通过继承重写QWidget的绘制事件paintEvent(),来绘制仪表盘的基础操作,请看

图形绘制-仪表盘(1)-CSDN博客

图形绘制-仪表盘(2)-CSDN博客

图形绘制-仪表盘(3)-CSDN博客

完整代码,请从https://download.csdn.net/download/zhouhui1982/88794418下载。

在dashboard.h头文件,声明公有函数setSpeed,用于设置速度

public slots:

void setSpeed(int speed);

在dashboard.cpp代码文件中实现:

void Dashboard::setSpeed(int speed)

{

//超出范围判断

if(speed>m_maxSpeed)

m_curSpeed=m_maxSpeed;

else if(speed

speed=m_minSpeed;

else

m_curSpeed = speed;

//刷新绘制消息,很重要,不加不重新绘制

update();

}

在调用仪表盘的主窗体mainwindow.cpp代码中加定时器,通过随机函数,得到100以内的整数,赋值给仪表盘:

加引用头文件:

#include

在构造函数中加以下代码:

QTimer *timerSpeed=new QTimer(this);

connect(timerSpeed,&QTimer::timeout,={

int speed = rand()%100;

dashboard->setSpeed(speed);

qDebug()

});

timerSpeed->start(100);

相关推荐
tdtsmt2 分钟前
2026年SMT贴片加工选型指南:天地通电子推荐参考
c++
一木 之林12 分钟前
插件、MCP、Skill 的区别?
java·c++·人工智能
ShineWinsu1 小时前
对于MySQL:内置函数的解析
linux·数据库·c++·mysql·面试·函数·查询
蓝悦无人机1 小时前
Qt Design Studio(QDS)4.8.2项目文件结构详解
开发语言·qt·qt creator·qds·项目文件结构·qtc
程序猿编码3 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
Tairitsu_H4 小时前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
hansang_IR4 小时前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
qq_401700414 小时前
Qt窗体大小控制从resize到自适应
开发语言·qt
Quz4 小时前
QML SwipeView:手势翻页与自定义指示器
qt
Quz4 小时前
QML TabBar组件与容器索引的绑定
qt