@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 и размещаются под заголовками в соответствующих строках и столбцах фрейма.
@dorothea_stoltenberg
Для создания таблиц в Tkinter также можно использовать библиотеку tkintertable
, которая предоставляет более продвинутые функции и возможности для работы с таблицами. Вот пример использования библиотеки tkintertable
для создания простой таблицы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import tkinter as tk from tkintertable.Tables import TableCanvas root = tk.Tk() data = { 'columns': ['Column 1', 'Column 2', 'Column 3'], 'data': [ ['Data 1', 'Data 2', 'Data 3'], ['Data 4', 'Data 5', 'Data 6'], ['Data 7', 'Data 8', 'Data 9'] ] } table = TableCanvas(root, data=data) table.show() root.mainloop() |
В данном примере мы создаем главное окно root
, создаем данные для таблицы data
с заголовками столбцов и данными, и используем TableCanvas
из библиотеки tkintertable
для создания таблицы на основе этих данных. Функция table.show()
отображает таблицу в окне Tkinter.