模态确定/取消 - 样式对话框

时间:2011-12-11 13:02:21

标签: python pyqt arguments pyqt4

我是这本书的一部分 使用Python和Qt进行快速GUI编程 - PyQt编程的权威指南(2008) 我不明白的是那页163-165

class NumberFormatDlg(QDialog):
    def __init__ (self, format, parent=None):
        super(NumberFormatDlg, self). __init__(parent)
...

form = NumberFormatDlg()
TypeError: __init__() takes at least 2 arguments (1 given)

1 个答案:

答案 0 :(得分:2)

当您创建类NumberFormatDlg的实例时,将调用其__init__方法,并将实例作为第一个参数(self),以及传入的任何其他参数。< / p>

NumberFormatDlg.__init__方法定义了一个必需参数(format)和一个可选参数(parent)。如果没有给出一个默认值(例如Noneparent),则可选参数将为其分配默认值,但必须由调用者明确指定必须

所以必须像这样创建NumberFormatDlg个实例:

form = NumberFormatDlg(format_string)

或者像这样:

form = NumberFormatDlg(format_string, parent_widget)

希望你的书会告诉你format_string应该是什么......