一个QWidget界面,上面添加一个带滚动条的界面,如何用QPainter在该界面上画线?
class test(QWidget):
def __init__(self):
super().__init__()
...
...
self.setUI()
def setUI(self):
self.setGeometry(250, 200, 1500, 750)
self.setWindowTitle('data structure visualization simulator')
self.topFiller = QWidget()
self.topFiller.setMinimumSize(1200, 2000)
self.scroll = QScrollArea()
self.scroll.setWidget(self.topFiller)
self.vbox = QVBoxLayout()
self.vbox.addWidget(self.scroll)
self.setLayout(self.vbox)
QPainter()中应该填什么对象?为什么在self上添加QPushButton可以在滚动条界面上显示,而画线就会被滚动条界面挡住?
def paintEvent(self, e):
qp = QPainter(self)
pen = QPen()
pen.setWidth(1)
qp.setPen(pen)
qp.drawLine(15, 80, 1080, 120)
你应该为重画的控件写一个新类,继承自 QWidget,并重写 paintEvent 方法。
参考