QPen : 畫筆。裡面可以設定顏色,粗細,和線條的樣式。
QPaint : 是一個繪圖類別,他可以在我們的 QWidget
或 QPismap
上繪圖操作,例如直線和圓形等,也可以自訂繪圖。
QPen(brush , color , width , s , c , j )
:
QBrush
設定顏色,不只單一顏色,還可以使用漸變等複雜的代替一班顏色。功能 | 方法 |
---|---|
實線 | Qt.SolidLine |
虛線 | Qt.DashLine |
點線 | Qt.DotLine |
點和虛線 | Qt.DashDotLine |
兩點加虛線 | Qt.DashDotDotLine |
功能 | 方法 |
---|---|
平直 | Qt.FlatCap |
圓形端點 | Qt.SquareCap |
端點以正方形的方式延展一點 | Qt.RoundCap |
功能 | 方法 |
---|---|
斜角接合 | Qt.BevelJoin |
尖角接合 | Qt.MiterJoin |
圓角接合 | Qt.RoundJoin |
drawLine(x1, y1, x2, y2)
: 繪製從 (x1, y1) 到 (x2, y2) 的線條。drawRect(x, y, width, height)
: 繪製矩形。drawEllipse(x, y, width, height)
: 繪製橢圓或圓形。drawText(x, y, text)
: 在指定位置繪製文字。drawPixmap(x, y, pixmap)
: 在指定位置繪製圖像。要使用 QPainter 進行繪圖,我們需要重載 paintEvent() 方法,並在其中進行繪圖操作。paintEvent() 是一個系統自動調用的函數,每次視窗需要重繪時,PySide6 都會觸發這個事件。
下面是把筆設定成紅色,然後粗細設為3,然後用實線。
from PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtGui import QPainter, QPen
from PySide6.QtCore import Qt
class PaintExample(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QPaint 示例")
self.resize(400, 300)
def paintEvent(self, event):
painter = QPainter(self)
# 設置畫筆
pen = QPen(Qt.red, 3, Qt.SolidLine)
painter.setPen(pen)
# 繪製一條直線
painter.drawLine(50, 50, 200, 50)
# 繪製矩形
painter.drawRect(50, 80, 150, 100)
# 繪製圓形
painter.drawEllipse(50, 200, 100, 100)
# 繪製文字
painter.drawText(200, 250, "QPainter 測試")
if __name__ == "__main__":
app = QApplication([])
window = PaintExample()
window.show()
app.exec()
QPen(brush , color , width , s , c , j )
QPaint 繪製
功能 | 方法 |
---|---|
線條 | drawLine(x1, y1, x2, y2) |
矩形 | drawRect(x, y, width, height) |
橢圓或圓形 | drawEllipse(x, y, width, height) |
文字 | drawText(x, y, text) |
圖像位置 | drawPixmap(x, y, pixmap) |