QT 绘图与重绘事件

news/2024/2/23 14:06:00/文章来源:https://blog.csdn.net/weixin_64965464/article/details/135633318

代码实现仪表盘

.cpp

#include "widget.h"
#include "ui_widget.h"#include <QPainter>
#include <QPen>
#include <QBrush>#include <QDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->Slidersudu->setMaximum(300);ui->Slidersudu->setMinimum(0);connect(ui->Slidersudu,SIGNAL(valueChanged(int)),this,SLOT(hSliderValueChangedSlot(int)));
}Widget::~Widget()
{delete ui;
}void Widget::paintEvent(QPaintEvent *event)
{QPainter p (this);p.translate( this->width()/2, this->height()/2);QBrush brush; brush.setColor(QColor(0,42,79));  brush.setStyle(Qt::SolidPattern);p.setBrush(brush);p.drawEllipse(-200,-200,400,400); //drawEllipse(x,y,w,h) 圆QBrush brush2; brush.setColor(QColor(0,0,0));  brush.setStyle(Qt::SolidPattern);p.setBrush(brush);p.drawEllipse(-175,-175,350,350);QBrush brush3; brush.setColor(QColor(0,180,150));  brush.setStyle(Qt::SolidPattern);p.setBrush(brush);p.drawEllipse(-75,-75,150,150);QBrush brush4; brush.setColor(QColor(0,0,0));  brush.setStyle(Qt::SolidPattern);p.setBrush(brush);p.drawEllipse(-40,-40,80,80);//划线p.rotate(120);QPen pen; pen.setColor( QColor(0,255,50));  pen.setWidth(3); pen.setStyle(Qt::SolidLine);p.setPen(pen);int log = 0;for(int i = 6;;){p.rotate(i);log++;if(log == 50){break;}if(log%2 == 0){p.drawLine(120,0,140,0);}else if(log%2 != 0){p.drawLine(110,0,140,0);}}p.rotate(60);p.rotate( ui->Slidersudu->value() );QPen pen2;pen2.setColor(QColor(255,0,0));pen2.setWidth(3);pen2.setStyle(Qt::SolidLine);p.setPen(pen2);p.drawLine(0,0,this->width()/3,0);this->update();
}void Widget::hSliderValueChangedSlot(int)
{qDebug()<<__func__;this->update();
}

.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void paintEvent(QPaintEvent *event) override;void hSliderValueChangedSlot(int);private:Ui::Widget *ui;
};
#endif // WIDGET_H

现象

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925554.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS第 2 课 ROS 系统安装和环境搭建

文章目录 方法一&#xff1a;一键安装&#xff08;推荐&#xff09;方法二&#xff1a;逐步安装&#xff08;常规安装方式&#xff09;1.版本选择2.检查 Ubuntu 的软件和更新源3.设置 ROS 的下载源3.1 设置国内下载源3.2 设置公匙3.3 更新软件包 4. 安装 ROS5. 设置环境变量6. …

连接超时的问题

连接超时的问题 通用第三方工具连接超时 connect timeout 方案一&#xff1a; /etc/ssh/sshd_config node1上操作&#xff0c;图是错的 方案二&#xff1a; windows上Hosts文件域名解析有问题 比如&#xff1a; 192.168.xx.100 node1 192.168.xx.161 node1 两个都解析成node…

数学的雨伞下:理解世界的乐趣

这本书没有一个公式&#xff0c;却讲透了数学的本质&#xff01; 《数学的雨伞下&#xff1a;理解世界的乐趣》。一本足以刷新观念的好书&#xff0c;从超市到对数再到相对论&#xff0c;娓娓道来。对于思维空间也给出了一个更容易理解的角度。 作者&#xff1a;米卡埃尔•洛奈…

RT-Thread学习(一)简介及基础环境配置

系列文章目录 文章目录 系列文章目录前言简要介绍配置环境修改工作时钟更改ROM空间添加FinSH串口命令提示 前言 之前学习了FreeRTOS&#xff0c;但是一直想深入学习&#xff0c;但是没有人指导&#xff0c;又不知道该如何学习&#xff0c;于是再学习一个操作系统看看情况。 简…

第 3 场 蓝桥杯小白入门赛 解题报告 | 珂学家 | 单调队列优化的DP + 三指针滑窗

前言 整体评价 T5, T6有点意思&#xff0c;这场小白入门场&#xff0c;好像没真正意义上的签到&#xff0c;整体感觉是这样。 A. 召唤神坤 思路: 前后缀拆解 #include <iostream> #include <algorithm> #include <vector> using namespace std;int main()…

order by之后的injection(sqllabs第四十六关)

order by相关注入知识 这一关的sql语句是利用的order by 根据输入的id不同数据排序不一样可以确定就是order by order by后面无法使用ubion注入&#xff08;靠找不到&#xff09; 可以利用后面的参数进行攻击 1&#xff09;数字 没作用考虑布尔类型 rand和select ***都可以 …

neo4j 图数据库 py2neo 操作 示例代码

文章目录 摘要前置NodeMatcher & RelationshipMatcher创建节点查询获取节点节点有则查询&#xff0c;无则创建创建关系查询关系关系有则查询&#xff0c;无则创建 Cypher语句创建节点 摘要 利用py2neo包&#xff0c;实现把excel表里面的数据&#xff0c;插入到neo4j 图数据…

GPT在地学、GIS、气象、农业、生态、环境等领域应用

详情点击链接&#xff1a;GPT在地学、GIS、气象、农业、生态、环境等领域应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的算法构架与底层逻辑 3)大模型的强大功能与应用场景 4)国内外经典大模型&#xff08;ChatGPT、LLaMA、Gemini、DALLE、Mid…

Excel学习

文章目录 学习链接Excel1. Excel的两种形式2. 常见excel操作工具3.POI1. POI的概述2. POI的应用场景3. 使用1.使用POI创建excel2.创建单元格写入内容3.单元格样式处理4.插入图片5.读取excel并解析图解POI 4. 基于模板输出POI报表5. 自定义POI导出工具类ExcelAttributeExcelExpo…

【Spring Boot】项目端口号冲突解决方法,一步到位

启动项目遇到以下问题&#xff1a; Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port. Process finished with …

python学习笔记10(选择结构2、循环结构1)

&#xff08;一&#xff09;选择结构2 1、if……else……语句 #&#xff08;1&#xff09;基本格式 numbereval(input("请输入您的6位中奖号码&#xff1a;")) if number123456:print("恭喜您&#xff0c;中奖了") else:print("未中奖")#&…

jupyter notebook 配置conda 虚拟环境python

conda创建python环境 conda create -n openvoice python3.9 激活环境 source activate openvoice 在虚拟环境中安装ipykernel pip install ipykernel 添加虚拟环境进到 jupyter notebook python -m ipykernel install --user --name openvoice --display-name openvoice …

C#,入门教程(15)——类(class)的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(14)——字符串与其他数据类型的转换https://blog.csdn.net/beijinghorn/article/details/124004562 物以类聚&#xff0c;凡物必类。 类的使用&#xff0c;须遵循几个简单的原则&#xff1a; &#xff08;1&#xff09;能类则类&a…

数字智慧驱动:数据可视化如何助力大企业效率飙升?

在当今信息大爆炸的时代&#xff0c;大型企业面临着前所未有的数据挑战。数据量庞大、多样化的信息汇聚&#xff0c;无疑成为企业高效运营的挑战之一。幸运的是&#xff0c;数据可视化作为一种强大的工具&#xff0c;正成为大型企业提高效率、优化决策的得力助手。 数据可视化首…

IP定位技术在网络安全行业的探索

随着互联网的普及和深入生活&#xff0c;网络安全问题日益受到人们的关注。作为网络安全领域的重要技术&#xff0c;IP定位技术正逐渐成为行业研究的热点。本文将深入探讨IP定位技术在网络安全行业的应用和探索。 一、IP定位技术的概述 IP定位技术是通过IP地址来确定设备地理位…

【Linux】第二十八站:动静态库

文章目录 一、设计静态库1.自己设计一个静态库2.使用一下我们的静态库3.动态链接和静态链接4.得到的一些结论5.可以不用写-I和-L的两种方法 二、设计动态库1.自己设计一个动态库2.使用一下我们的动态库3.得到的结论 三、动态库是怎么被加载的 一、设计静态库 在我们之前提到过…

电脑扩容升级硬盘选1T还是2T

SSD固态有必要升级2TB吗&#xff1f;----------吴中函 某大二学生用的一台笔记本电脑&#xff0c;512GB的硬盘空间已经严重不够用了&#xff0c;想给笔记本扩容升级一下硬盘&#xff1b; 这位学生是学设计专业的、平时也喜欢摄影、电脑里面也装了一些游戏&#xff0c;经常整理、…

C# wpf 实现任意控件(包括窗口)更多调整大小功能

WPF拖动改变大小系列 第一节 Grid内控件拖动调整大小 第二节 Canvas内控件拖动调整大小 第三节 窗口拖动调整大小 第四节 附加属性实现拖动调整大小 第五章 拓展更多调整大小功能&#xff08;本章&#xff09; 文章目录 WPF拖动改变大小系列前言一、添加的功能1、任意控件Drag…

SpringBoot参数校验

介绍 在开发现代应用程序时&#xff0c;数据验证是确保用户输入的正确性和应用程序数据完整性的关键方面。Spring Boot 提供了强大的数据验证机制&#xff0c;使开发者能够轻松地执行验证操作。本文将深入介绍 Spring Boot 中的 Validation&#xff0c;以及如何在应用程序中正…

网络文件共享服务

目录 一、网络文件共享服务原理内容 1.存储类型 2.应用场景 3.总结 二、FTP——文件传输协议 1.工作原理介绍 2.vsftpd软件 2.1使用ftp 2.2延伸——FileZilla 2.3修改默认端口号 2.4主动模式端口 2.5被动模式端口 2.6匿名用户登录 2.7匿名用户上传 2.8匿名用户…