gpt4 book ai didi

python - PyQt 从具有参数的类创建自定义按钮/继承

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:20 25 4
gpt4 key购买 nike

我是 PyQt 的新手,我想构建我自己的继承自 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 继承,因为它有参数。

感谢解答

最佳答案

您希望将 MainWindow 作为复选框的父级传递:

class Valve(QtGui.QCheckBox):

def __init__(self, parent, x, y, inputs=[], outputs=[]):
QtGui.QCheckBox.__init__(self, parent)

class MainWindow(QtGui.QWidget):

def initUI(self):
self.button1 = Valve(self, 5, 6)

关于python - PyQt 从具有参数的类创建自定义按钮/继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com