Qt基本圖形繪製(圓、圓角矩形、圓弧、橢圓、扇形等)

https://blog.csdn.net/qq_40194498/article/details/79650641
首先介紹一下Qt的座標機制:
Qt的座標與我們常見的座標不同,如圖,假設下圖的矩形就是我們的窗口,矩形左上角頂點即爲座標原點:

這裏寫圖片描述

繪製矩形
核心代碼:

 paint->drawRect(20,20,160,160); 
  • 1

第1、2個參數制定矩形的左上角起點,第3個參數制定矩形的長度,第4個參數指定矩形的寬度

繪製圓和橢圓
核心代碼:

paint->setPen(QPen(Qt::blue,4,Qt::SolidLine));
paint->drawEllipse(20,20,210,160);
  • 1
  • 2

第1,2個參數表示圓/橢圓距屏幕左上角的像素數。第3,4個參數表示圓/橢圓的寬度和高度,兩者相同時爲圓。更加確切地表述,這個圓或橢圓是在矩形中,這個矩形的左上角的頂點在座標軸中的位置爲(20,20),這個圓或橢圓的中心爲這個矩形的中心

繪製圓角矩形
核心代碼:

paint->setPen(QPen(Qt::blue,4,Qt::SolidLine));
paint->drawRoundRect(20,20,210,160,50,50);
  • 1
  • 2

前面四個參數和繪製矩形的參數一致,最後兩個參數決定角的圓度。它可以爲0到99之間的任意值(99代表最圓)。

繪製扇形圖
核心代碼:

QRectF rectangle(10.0, 20.0, 80.0, 60.0);//設定扇形所在的矩形,扇形畫在矩形內部
int startAngle = 30 * 16;//起始角度,角度可以爲負值,如-30*16
int spanAngle = 120 * 16;//覆蓋的角度,繪製方向爲逆時針方向
QPainter painter(this);
painter.drawPie(rectangle, startAngle, spanAngle);
  • 1
  • 2
  • 3
  • 4
  • 5

前四個參數定義圓(與drawEllipse()函數相同)。後兩個參數定義圓的樣式。0爲起始角度(實際單位爲1/16度),500爲扇形所展開的角度(單位也爲1/16度)。
這裏寫圖片描述

繪製弦
核心代碼:

paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawChord(20,20,210,160,500,1000);
  • 1
  • 2

drawChord()函數與drawPie()函數的參數完全相同。
這裏寫圖片描述

繪製圓弧
核心代碼:

paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawArc(20,20,210,160,500,1000);
  • 1
  • 2

drawArc()函數與drawPie()函數的參數完全相同。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章