Qt 画圆弧(圆环)

【1】重写paintEvent函数

cpp 复制代码
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
protected:
    void paintEvent(QPaintEvent *); //重写

【2】使用drawArc函数

cpp 复制代码
painter->drawArc(left,top,width,height, start*16, delta*16);

left:圆外切矩形的"左边"x坐标

top:圆外切矩形的"上边"y坐标

width:圆外切矩形的宽度

height:圆外切矩形的高度

start:圆环起始角度(不是弧度)

delta:圆环从起始角度开始延伸的角度变化量(不是弧度)

【3】画笔设置

cpp 复制代码
    QLinearGradient gradient(0,y, 0,y+r);
    gradient.setColorAt(0,QColor(250,209,109));
    gradient.setColorAt(1,QColor(228,74,56));
    QPen thickPen(gradient,linewith);
    painter->setPen(thickPen);

【4】源代码链接(圆环进度条)

https://download.csdn.net/download/notfindjob/90455556

相关推荐
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜4 小时前
ART配对软件使用
开发语言·c++·qt·算法
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
Maybe_ch7 小时前
.NET-键控服务依赖注入
开发语言·c#·.net
超浪的晨7 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
终焉暴龙王7 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
Edingbrugh.南空8 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
CodeCraft Studio9 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html