Создать класс фреймов в Tkinter Gui - PullRequest
1 голос
/ 20 августа 2010

Я работаю над графическим интерфейсом и хотел бы знать, как создать класс, который будет реализовывать фрейм.

Например,

class WindowContent(Tkinter.?)
    """ This class would create a frame for my program window """


class App(Tkinter.Tk):
    """ main window constructor """
    def __init__(self):
        Tkinter.Tk.__init__(self)
        program_window = WindowContent ?
        self.config(window = window_content) ?

rgds,

Ответы [ 2 ]

2 голосов
/ 23 августа 2010

Я нашел ответ:

class WindowProgram(Tkinter.Frame)
    """ This class creates a frame for my program window """
    def __init__(self, parent):
        Tkinter.Frame.__init__(self, parent)

class App(Tkinter.Tk):
    """ application constructor """
    def __init__(self):
        Tkinter.Tk.__init__(self)
        self.window_program = Window_Program(self)
0 голосов
/ 20 августа 2010

Зачем вам класс, который создает несколько кадров?Создание одного класса, который создает несколько кадров, не очень хорошее решение.Вам не нужен ни один класс для этого.

Либо создайте отдельные классы для каждого фрейма, либо просто создайте методы в своем приложении для создания каждого фрейма.Я предпочитаю последнее, но если вам нужен кадр, который можно использовать в нескольких контекстах, иногда имеет смысл создать класс.

Когда я делаю GUI, я структурирую свой код так:*

Таким образом, каждый основной раздел получает свой собственный метод, чтобы скрыть детали создания виджета.Конечно, вы можете иметь каждый кадр как собственный объект, но обычно это не нужно.

...