Tkinter: не удается заставить функцию регистрации работать [дублировать]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

4
задан PlatypusVenom 14 January 2015 в 16:06
поделиться

1 ответ

Ваш метод init Page должен вызвать init Frame.

class Page(tk.Frame):
    '''Enables switching between pages of a window.'''
    def __init__(self):
        super(Page, self).__init__()
        self.widgets={}
        self.grid(column=0,row=0)
8
ответ дан Kevin 19 August 2018 в 16:16
поделиться
  • 1
    Большое спасибо, но что конкретно super для общего использования? – PlatypusVenom 14 January 2015 в 16:12
  • 2
  • 3
    super обычно используется для доступа к методам, принадлежащим к родительскому классу данного объекта. Здесь super(Page, self) возвращает Frame-подобный прокси self, а вызов __init__() на нем вызывает Frame.__init__(). – Kevin 14 January 2015 в 16:15
Другие вопросы по тегам:

Похожие вопросы: