python pyqt和父类

问题描述 投票:0回答:1
class testWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(testWidget, self).__init__(parent)
        self.parent = parent
        self.something()
    def something(self):
        self.parent.callme() # self.parent?.... nice?


class testClass():
    def __init__(self):
        self.widget = testWidget(parent=self)

test = testClass()

在python(pyqt)中处理父类的最简洁方法是什么?有没有比直接调用self.parent更好的方法?

python pyqt call parent subclass
1个回答
1
投票

如果要调用此窗口小部件父项的方法(如果已设置),请使用QObject.parent()

class TestWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(TestWidget, self).__init__(parent)
    def something(self):
        self.parent().callMe()

class TestClass(QtCore.QObject):
    def __init__(self):
        super(TestClass, self).__init__(None)
        self.widget = TestWidget(parent=self)
        ...
    def callMe(self): pass

test = TestClass()
© www.soinside.com 2019 - 2024. All rights reserved.