我正在制作一个应用程序,它应该在小部件上绘制几个点并将其中一些用线连接起来。我使用 QT Designer 制作了一个表格,例如,我想在框架上绘制点。我已经读过要在小部件上绘制它的paintEvent() 方法应该重新实现,但我有一个问题。我的 MainForm 类有以下代码:
.........
def paintEvent(self, QPaintEvent):
paint = QtGui.QPainter()
paint.begin(self)
paint.setPen(QtCore.Qt.red)
size = self.size()
for i in range(100):
x = random.randint(1, size.width()-1)
y = random.randint(1, size.height()-1)
paint.drawPoint(x, y)
paint.end()
............
该方法在主窗口上绘制点。如何使paintEvent()绘制在我的表单的确切框架上?还有一个问题:只有当我按下某个按钮时,如何才能做到这一点,因为上面的代码会在任何事件之后重绘我的窗口。
如果重要的话,我会使用 PyQt v4.10 和 Python 3.3。
提前感谢您的帮助。