QPainter painter怎麽使用
时间: 2024-05-13 18:18:49 浏览: 71
QPainter 是 Qt 框架中的一个绘图类,可以用于绘制各种图形和图像。使用 QPainter 的一般步骤如下:
1. 创建一个 QPainter 对象,可以在 QWidget 或 QPixmap 上进行绘制。
2. 在 QPainter 对象上调用不同的绘制函数,例如 drawLine()、drawRect()、drawText() 等,绘制相应的图形或文本。
3. 调用 end() 函数结束绘制过程。
下面是一个简单的例子,演示了如何使用 QPainter 在 QWidget 上绘制一条直线:
```python
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtCore import Qt
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 280, 170)
self.setWindowTitle('绘制直线')
def paintEvent(self, event):
qp = QPainter()
qp.begin(self)
self.drawLine(qp)
qp.end()
def drawLine(self, qp):
pen = QPen(Qt.black, 2, Qt.SolidLine)
qp.setPen(pen)
qp.drawLine(20, 40, 250, 40)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个名为 Example 的 QWidget,然后重写了它的 paintEvent() 函数,在该函数中使用 QPainter 绘制一条直线。具体来说,我们使用 qp.begin(self) 开始绘制过程,然后调用 drawLine() 绘制一条线段,最后使用 qp.end() 结束绘制过程。在 drawLine() 函数中,我们首先创建了一个 QPen 对象,指定了线条的颜色、宽度和样式,然后使用 qp.setPen() 函数设置该 QPen 对象,最后使用 qp.drawLine() 函数绘制一条直线。
阅读全文