我正在尝试开发一个qt应用程序,我已经决定创建一个名为window的抽象类,每个窗口都有来自QWidget的inherts,diaoluge将从她的内部开始,并将包含该窗口应具有的基本属性。现在,来自窗口的inherts类中的一个类也来自QMainWindow。我的问题是QMainWindow和来自QWidget的窗口inherts。这让我觉得我的解决方式不是最优的,并且有一种适当的方式来做我试图做的genraliztion,任何建议都会受到欢迎。
以下是双重依赖的代码(删除不重要的部分):
class Window(QtGui.QWidget , ):
_metaclass__ = ABCMeta
def __init__(self, win_name):
super(Window, self).__init__()
self.name = win_name
self.initUI()
def initUI(self, ):
self.setWindowTitle(self.name)
self.show()
class Main_Window(QtGui.QMainWindow, Window):
def __init__(self, win_name):
super(Main_Window, self).__init__(win_name)
self.initUI()
def initUI(self, ):
self.statusBar().showMessage('chk')
self.setGeometry(300, 300, 250, 150)
super(Main_Window, self).initUI()
答案 0 :(得分:0)
使用继承的另一个选项是使用on Scastie,这是一个小例子:
$names = @{"name1@name.com","name2@name.com"}
正如你所看到的,我已经对你发布的代码进行了重构,改变了GuiBuilder的Window,Pep8风格,......当然,上面的例子并没有太多的意义,而且你也是如此。如果有充分的理由,请使用这种方法。 composition