我试图创建一组继承QWidget、QMainWindow和QDialog的PySide类。另外,我想继承另一个类来覆盖一些函数,并设置小部件的布局。在
示例:
混音:
class Mixin(object):
def __init__(self, parent, arg):
self.arg = arg
self.parent = parent
# Setup the UI from QDesigner
ui = Ui_widget()
ui.setupUi(self.parent)
def setLayout(self, layout, title):
self.parent.setWindowTitle(title)
self.parent.setLayout(layout)
def doSomething(self):
# Do something awesome.
pass
小工具:
^{pr2}$这是行不通的,但是通过写作来完成
小工具(组成):
class Widget(QtGui.QWidget):
def __init__(self, parent, arg):
super(Widget, self).__init__(parent=parent)
mixin = Mixin(parent=self, arg=arg)
self.setLayout = mixin.setLayout
self.doSomething = mixin.doSomething
我想尝试让小部件继承所有内容,而不是通过组合完成一部分。谢谢!在
保留
class Widget(Mixin, QtGui.Widget):
,但在Mixin.__init__
中添加一个super
调用。这应该确保Mixin
和QWidget
的__init__
方法都被调用,并且setLayout
方法的Mixin
实现首先在Widget
的MRO中找到。在相关问题 更多 >
编程相关推荐