我是这本书的一部分 使用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)
答案 0 :(得分:2)
当您创建类NumberFormatDlg
的实例时,将调用其__init__
方法,并将实例作为第一个参数(self
),以及传入的任何其他参数。< / p>
NumberFormatDlg.__init__
方法定义了一个必需参数(format
)和一个可选参数(parent
)。如果没有给出一个默认值(例如None
为parent
),则可选参数将为其分配默认值,但必须由调用者明确指定必须。
所以必须像这样创建NumberFormatDlg
个实例:
form = NumberFormatDlg(format_string)
或者像这样:
form = NumberFormatDlg(format_string, parent_widget)
希望你的书会告诉你format_string
应该是什么......