Как создать сетку с помощью Tkinter? - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь создать приложение для создания временных диаграмм, используя Tkinter, и мне нужно создать шаблон сетки, как показано ниже: Timetabling Template

Я посмотрел несколько примеров из StackOverflow (например, Tkinter | Пользовательский виджет: календарь с бесконечной (горизонтальной) прокруткой ), но я пытаюсь понять использование ООП.

Существуют ли более простые способы реализации этой таблицы в tkinter? Или есть ли способы использовать «более простой» (?) Метод ООП для разработки расписания?

Спасибо

Обновление

Я просмотрел пример:Проще следовать, но можно ли объяснить звездочку из кода?

import Tkinter as tk

class ExampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        t = SimpleTable(self, 10,2)
        t.pack(side="top", fill="x")
        t.set(0,0,"Hello, world")

class SimpleTable(tk.Frame):
    def __init__(self, parent, rows=10, columns=2):
        # use black background so it "peeks through" to **
        # form grid lines
        tk.Frame.__init__(self, parent, background="black")
        self._widgets = []
        for row in range(rows):
            current_row = []
            for column in range(columns):
                label = tk.Label(self, text="%s/%s" % (row, column), 
                                 borderwidth=0, width=10)
                label.grid(row=row, column=column, sticky="nsew", padx=1, pady=1)
                current_row.append(label)
            self._widgets.append(current_row)

        for column in range(columns):
            self.grid_columnconfigure(column, weight=1) **


    def set(self, row, column, value):
        widget = self._widgets[row][column] **
        widget.configure(text=value) **

if __name__ == "__main__": **
    app = ExampleApp()
    app.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...