在qdialog上绘图
时间: 2024-05-14 18:16:00 浏览: 82
在 QDialog 上绘图可以使用 QPainter 类。下面是一个示例:
```python
from PyQt5.QtWidgets import QDialog, QApplication
from PyQt5.QtGui import QPainter, QColor, QPen
from PyQt5.QtCore import Qt
import sys
class MyDialog(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle('绘图示例')
self.setGeometry(100, 100, 400, 400)
self.show()
def paintEvent(self, event):
painter = QPainter(self)
painter.setPen(QPen(Qt.red, 5, Qt.SolidLine))
painter.setBrush(QColor(255, 255, 0, 255))
painter.drawRect(50, 50, 200, 200)
painter.drawEllipse(100, 100, 100, 100)
if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = MyDialog()
sys.exit(app.exec_())
```
在 `paintEvent` 方法中,我们可以创建一个 QPainter 对象来进行绘图操作。在这个示例中,我们设置了一个红色的线条和黄色的矩形和椭圆形。注意,我们要在 `QDialog` 的子类中重载 `paintEvent` 方法,因为只有在窗口需要进行重绘的时候才会调用该方法。
阅读全文