Модальные диалоги OK / Cancel-Style - PullRequest
1 голос
/ 11 декабря 2011

Я являюсь частью книги «Быстрое программирование GUI с использованием Python и Qt - Полное руководство по программированию на 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 Ответ

2 голосов
/ 11 декабря 2011

Когда вы создаете экземпляр класса NumberFormatDlg, его метод __init__ вызывается с экземпляром в качестве первого аргумента (self) плюс все другие передаваемые аргументы.

NumberFormatDlg.__init__ метод определяется с одним обязательным аргументом (format) и одним необязательным аргументом (parent).Дополнительным аргументам будет присвоено значение по умолчанию, если оно не задано (например, None для parent), но требуемые аргументы должны быть явно заданы вызывающей стороной.

ТакNumberFormatDlg экземпляры должны быть созданы следующим образом:

form = NumberFormatDlg(format_string)

или примерно так:

form = NumberFormatDlg(format_string, parent_widget)

Надеюсь, ваша книга скажет вам, каким format_string должно быть ...

...