@dorothea_stoltenberg
Для создания таблицы в tkinter можно использовать виджет Table
из библиотеки tkinter.ttk
, а также элементы Frame
и Label
для создания заголовков и содержимого таблицы.
Вот пример кода, который создает простую таблицу с заголовками и тремя строками данных:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import tkinter as tk from tkinter import ttk class Table: def __init__(self, root): # Создаем элементы таблицы self.table_frame = ttk.Frame(root) self.table_frame.pack() # Заголовки столбцов self.headers = ['Header 1', 'Header 2', 'Header 3'] for i, header in enumerate(self.headers): label = ttk.Label(self.table_frame, text=header) label.grid(row=0, column=i, padx=10, pady=10) # Данные self.data = [ ['Data 1', 'Data 2', 'Data 3'], ['Data 4', 'Data 5', 'Data 6'], ['Data 7', 'Data 8', 'Data 9'] ] for row in range(len(self.data)): for col in range(len(self.data[row])): label = ttk.Label(self.table_frame, text=self.data[row][col]) label.grid(row=row+1, column=col, padx=10, pady=10) root = tk.Tk() table = Table(root) root.mainloop() |
Здесь мы создаем экземпляр класса Table
и передаем в него главное окно root
из tkinter. Внутри конструктора класса мы создаем фрейм (table_frame
), куда размещаем заголовки и данные таблицы. Заголовки являются экземплярами виджета Label и размещаются в первой строке фрейма. Данные также являются экземплярами виджета Label и размещаются под заголовками в соответствующих строках и столбцах фрейма.