【发布时间】:2016-07-06 21:52:20
【问题描述】:
我是 PyQt 的新手,我想构建自己的 Check Box,它继承自 QCheckBox。
class Valve(QtGui.QCheckBox):
def __init__(self, x, y, inputs=[], outputs=[]):
QtGui.QCheckBox.__init__(self)
self.sources = inputs
self.outputs = outputs
self.move(x, y)
def is_fillable(self):
for source in self.sources:
if source.value == 100:
return 1
return 0
def stateChanged():
if isChecked():
for output in self.outputs:
if self.is_fillable():
output.fill(1)
else:
for output in self.outputs:
if self.is_fillable:
output.fill(-1)
class MainWindow(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.initUI()
def initUI(self):
self.button1 = Valve('', self, 5, 6)
self.setGeometry(0, 0, 500, 500)
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
描述我在这里做了什么:
我想建造水系统。我将使用进度条作为管道,因此在我的代码输入和输出中将是 QProgressBar,我将用它们的值填充它们。
但是我的 Valve(CheckBox) 没有显示在我的窗口中,因为我不知道如何从 QCheckButton 继承,因为它有参数。
感谢解答
【问题讨论】:
标签: python inheritance pyqt pyqt4