AttributeError:' Second'对象没有属性' funct'

时间:2017-07-17 21:46:17

标签: python python-3.x pyqt pyqt5

我正在尝试创建一个自定义函数,以便在" OK"按钮在自定义模式中单击。

class Second(QDialog):
    def __init__(self, parent=None):
        super(Second, self).__init__(parent)
        def funct():
            print("This is a test")
        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok|QDialogButtonBox.Cancel, self)
        buttonBox.rejected.connect(self.reject)
        buttonBox.accepted.connect(self.funct)

我能够同时使用self.reject()和self.accept(),但是当我尝试使用self.funct()时,我会在标题中收到错误消息。 类似问题的建议似乎都没有帮助。它特别适用于QDialogBu​​ttonBox吗?

1 个答案:

答案 0 :(得分:0)

funct函数是一个嵌套函数,所以它不是Second类的一部分,因此使用实例(self)来访问它是不合适的,你必须做什么是直接访问,因为它使用:

buttonBox.accepted.connect(funct)