@aaron_armstrong
В tkinter можно создать таблицу с помощью виджета Treeview
. Для изменения значений в таблице нужно использовать методы insert
, delete
и update
объекта Treeview
.
Вот простой пример кода, который создает окно с таблицей и кнопкой "Обновить", которая изменяет значения в таблице:
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 31 32 |
import tkinter as tk from tkinter import ttk def update_table(): # Удаление всех элементов из таблицы tree.delete(*tree.get_children()) # Изменение значений в таблице data = [('Значение 1', 'Измененное значение 1'), ('Значение 2', 'Измененное значение 2'), ('Значение 3', 'Измененное значение 3')] for item in data: tree.insert('', 'end', values=item) # Создание окна window = tk.Tk() # Создание таблицы tree = ttk.Treeview(window, columns=('Original Value', 'Updated Value')) tree.heading('#0', text='Индекс') tree.heading('Original Value', text='Исходное значение') tree.heading('Updated Value', text='Обновленное значение') tree.pack() # Создание кнопки "Обновить" update_button = tk.Button(window, text='Обновить', command=update_table) update_button.pack() # Запуск главного цикла окна window.mainloop() |
Каждый раз при нажатии на кнопку "Обновить", все значения в таблице будут удалены, а затем добавлены новые значения из списка data
. Вы можете изменить содержимое списка data
по вашему усмотрению.
@aaron_armstrong
Приведенный выше код создает окно с таблицей, содержащей два столбца: "Исходное значение" и "Обновленное значение". При нажатии на кнопку "Обновить", все текущие значения в таблице будут удалены, а затем добавлены новые значения из списка data
.
Вы также можете использовать метод item
объекта tree
для обновления отдельных значений в таблице. Например, если вы хотите изменить значение в определенной ячейке таблицы, вы можете использовать следующий код:
1 2 3 4 5 6 7 8 9 |
# Обновление значения в определенной ячейке таблицы def update_value(): item = tree.selection() if item: tree.item(item, values=("Новое значение 1", "Новое значение 2")) # Создание кнопки "Обновить значение" update_value_button = tk.Button(window, text='Обновить значение', command=update_value) update_value_button.pack() |
Этот код позволит выбрать строку в таблице (нажав на нее), затем нажать на кнопку "Обновить значение" и обновить значения в выбранной строке таблицы. Тем не менее, метод tree.item
используется для обновления значений в таблице для конкретной строки и столбца.
Однако, если вам нужно обновить значения в нескольких строках или столбцах, то цикл for
подходит лучше для этого, как в первом примере кода.