给出应用函数repaint()的Pyqt示例代码
时间: 2023-06-20 13:04:24 浏览: 176
NRP_repaint_indicator_mt4indicators_
以下是一个简单的PyQt应用程序,其中包含一个按钮,单击该按钮将调用repaint()函数来重新绘制窗口部件:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QPainter, QColor, QBrush
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Example')
btn = QPushButton('Repaint', self)
btn.move(100, 50)
btn.clicked.connect(self.onClick)
self.show()
def onClick(self):
self.repaint()
def paintEvent(self, event):
qp = QPainter()
qp.begin(self)
qp.setBrush(QColor(255, 0, 0))
qp.drawRect(10, 10, 50, 50)
qp.end()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
这个示例程序创建了一个QWidget窗口部件,并在其上放置了一个QPushButton按钮。单击按钮时,程序将调用onClick()方法,该方法将调用repaint()函数以重新绘制窗口部件。重新绘制的内容将使用paintEvent()方法中的代码进行绘制。在这个例子中,我们会在窗口部件的左上角绘制一个红色正方形。
阅读全文