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

相关推荐
追风赶月、27 分钟前
【QT】事件(鼠标、按键、定时器、窗口)
qt
xiaolang_8616_wjl1 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20
WJ.Polar1 小时前
Python数据容器-list和tuple
开发语言·python
FrostedLotus·霜莲1 小时前
C++主流编辑器特点比较
开发语言·c++·编辑器
超级码.里奥.农1 小时前
零基础 “入坑” Java--- 七、数组(二)
java·开发语言
KENYCHEN奉孝1 小时前
Rust征服字节跳动:高并发服务器实战
服务器·开发语言·rust
挺菜的2 小时前
【算法刷题记录(简单题)002】字符串字符匹配(java代码实现)
java·开发语言·算法
妮妮喔妮2 小时前
【无标题】
开发语言·前端·javascript
fie88893 小时前
浅谈几种js设计模式
开发语言·javascript·设计模式
喝可乐的布偶猫3 小时前
Java类变量(静态变量)
java·开发语言·jvm