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

相关推荐
廋到被风吹走几秒前
【JAVA】【JDK】java8版本之后各个版本调整
java·开发语言
悟能不能悟8 分钟前
如何处理java.time包类序列化问题,跨版本反序列化 Class对象可能抛出 InvalidClassException
java·开发语言
xxxxxxllllllshi9 分钟前
深入解析单例模式:从原理到实战,掌握Java面试高频考点
java·开发语言·单例模式·面试
=PNZ=BeijingL10 分钟前
SprintBoot +Screw+PostgreSQL生成数据库文档时空指针问题
开发语言·c#
L-岁月染过的梦11 分钟前
前端使用JS实现端口探活
开发语言·前端·javascript
idealzouhu11 分钟前
【Android】深入浅出 JNI
android·开发语言·python·jni
廋到被风吹走13 分钟前
【Java】【Jdk】Jdk11->Jdk17
java·开发语言·jvm
nike0good14 分钟前
Goodbye 2025 题解
开发语言·c++·算法
Sheep Shaun15 分钟前
STL中的unordered_map和unordered_set:哈希表的快速通道
开发语言·数据结构·c++·散列表
jllllyuz19 分钟前
基于帧差法与ViBe算法的MATLAB前景提取
开发语言·算法·matlab