0
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を直接呼び出すよりも良い方法はありますか?

4

1 に答える 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()
于 2012-08-08T11:08:01.550 に答える