【发布时间】:2019-10-29 09:26:20
【问题描述】:
我正在尝试在一个布局中使用 QPainter 制作的对象以及 PyQt 的本机小部件,但这样做有困难。
我尝试使用 addWidget() 将其添加到布局中,但没有成功。
class window(QWidget):
def __init__(self):
super().__init__()
self.resize(600, 500)
self.setWindowTitle('GUI 2.0')
#LCD
self.lcd = QLCDNumber()
self.lcd.setFixedHeight(100)
#Slider
self.slider = QSlider(Qt.Horizontal)
self.slider.setMaximum(40)
self.slider.setMinimum(0)
self.slider.valueChanged.connect(self.progress)
#Push button
pb = QPushButton('Button', self)
pb.clicked.connect(self.button)
#Progress Bar
self.pbar = QProgressBar(self)
self.pbar.setGeometry(30, 40, 200, 25)
self.pbar.setTextVisible(False)
#Qpainter
painter = QPainter()
painter.setPen(QPen(Qt.black, 5, Qt.SolidLine))
painter.setBrush(QBrush(Qt.green, Qt.DiagCrossPattern))
painter.drawRect(100, 15, 400,200)
#Grid Layout
layout = QGridLayout()
layout.addWidget(self.lcd, 1, 1)
layout.addWidget(self.slider, 2, 1)
layout.addWidget(pb, 2, 2)
layout.addWidget(self.pbar, 0, 1)
layout.addWidget(painter) # doesn't work!
self.setLayout(layout)
我的目标是这样的,滑块最终会改变水箱中的水位,按钮将重置滑块值,从而清空水箱:
而我有这样的事情:
如何将画家对象添加到布局中?
【问题讨论】: