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

相关推荐
Dev7z几秒前
基于Matlab多目标粒子群优化的无人机三维路径规划与避障研究
开发语言·matlab·无人机
沐知全栈开发24 分钟前
HTML 脚本:基础、应用与未来趋势
开发语言
@菜菜_达32 分钟前
interact.js 前端拖拽插件
开发语言·前端·javascript
APIshop1 小时前
实战解析:苏宁易购 item_search 按关键字搜索商品API接口
开发语言·chrome·python
百***92021 小时前
java进阶1——JVM
java·开发语言·jvm
蓝桉~MLGT1 小时前
Python学习历程——Python面向对象编程详解
开发语言·python·学习
Evand J1 小时前
【MATLAB例程】2雷达二维目标跟踪滤波系统-UKF(无迹卡尔曼滤波)实现,目标匀速运动模型(带扰动)。附代码下载链接
开发语言·matlab·目标跟踪·滤波·卡尔曼滤波
larance1 小时前
Python 中的 *args 和 **kwargs
开发语言·python
Easonmax1 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
lsx2024061 小时前
Rust 宏:深入理解与高效使用
开发语言