我在重构代码方面遇到了一些问题。这是我的小例子:
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
but1 = QtGui.QPushButton("OK1")
myUtils = ButtinUtils()
but2 = myUtils.createButton(self.sender())
hbox = QtGui.QFormLayout()
hbox.addWidget(but1)
hbox.addWidget(but2)
self.setLayout(hbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('Buttons')
self.show()
but1.clicked.connect(self.foo1)
def foo1(self):
print "foo1 called"
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
想法是在自己的班级中创建我的第二个按钮。我可以在主窗口上显示按钮,但如何才能获得连接?
这是第二节课:
class ButtinUtils(object):
def __init__(self):
self.createButton()
#b1 = QtGui.QPushButton("OK")
def createButton(self):
but2 = QtGui.QPushButton("OK2")
return but2
将事件处理程序外包给这个util类会很棒。
有什么想法吗?