Создание таблицы смежности с помощью Tkinter ⇐ Python
-
Anonymous
Создание таблицы смежности с помощью Tkinter
Мне нужно создать таблицу смежности с помощью Tkinter. Я решил использовать матрицу, созданную на основе данных словаря вершин. Проблема в том, что когда я вызываю функцию create_table(), выходные данные неверны.
Ожидается, что первая строка и первый столбец будут именами вершин, а другие строки и столбцы должны быть заполнены значениями 1 или 0 в зависимости от связей с матрицей, но результат не такой, как ожидалось. Есть идеи, как это исправить?
Я также пытаюсь добавить эту функцию, которая поможет обновлять таблицу, когда пользователь вводит новую вершину (необходимо добавить новый столбец), но не уверен, возможно ли это с помощью tkinter
импортировать tkinter как tk из импорта tkinter * из tkinter импортировать ttk вершины = {} матрица = [] защита get_data(): глобальные вершины, матрица v = вход_вертицес.get() c = список(entry_connections.get().split(",")) вершины[v] = c для меня в vertices.values(): матрица.append(я) # update_table() защита create_table (вершины): таблица = ttk.Treeview(окно) таблица['столбцы'] = список(vertices.keys()) для вершины в vertices.keys(): table.column(вершина, ширина = 100) table.heading(вершина, текст=вершина) для i строка в перечислении (матрица): table.insert('', tk.END, текст=i + 1, значения=строка) таблица.пакет() защита update_table(): таблица.уничтожить() окно = Тк() окно.геометрия("400x400") окно['bg']='LightBlue3' label_x_coord = Label(window, text="Вершины:") label_x_coord.pack() enter_vertices = Запись (окно) enter_vertices.pack() label_y_coord = Label(window, text="Соединение 1(да) 0(нет):") label_y_coord.pack() enter_connections = Запись (окно) запись_connections.pack() button_add = Кнопка (окно, текст = «Добавить», команда = get_data) button_add.pack() button_create = Кнопка(окно, текст="Создать таблицу", команда=лямбда: create_table(вершины)) button_create.pack() окно.mainloop()
Мне нужно создать таблицу смежности с помощью Tkinter. Я решил использовать матрицу, созданную на основе данных словаря вершин. Проблема в том, что когда я вызываю функцию create_table(), выходные данные неверны.
Ожидается, что первая строка и первый столбец будут именами вершин, а другие строки и столбцы должны быть заполнены значениями 1 или 0 в зависимости от связей с матрицей, но результат не такой, как ожидалось. Есть идеи, как это исправить?
Я также пытаюсь добавить эту функцию, которая поможет обновлять таблицу, когда пользователь вводит новую вершину (необходимо добавить новый столбец), но не уверен, возможно ли это с помощью tkinter
импортировать tkinter как tk из импорта tkinter * из tkinter импортировать ttk вершины = {} матрица = [] защита get_data(): глобальные вершины, матрица v = вход_вертицес.get() c = список(entry_connections.get().split(",")) вершины[v] = c для меня в vertices.values(): матрица.append(я) # update_table() защита create_table (вершины): таблица = ttk.Treeview(окно) таблица['столбцы'] = список(vertices.keys()) для вершины в vertices.keys(): table.column(вершина, ширина = 100) table.heading(вершина, текст=вершина) для i строка в перечислении (матрица): table.insert('', tk.END, текст=i + 1, значения=строка) таблица.пакет() защита update_table(): таблица.уничтожить() окно = Тк() окно.геометрия("400x400") окно['bg']='LightBlue3' label_x_coord = Label(window, text="Вершины:") label_x_coord.pack() enter_vertices = Запись (окно) enter_vertices.pack() label_y_coord = Label(window, text="Соединение 1(да) 0(нет):") label_y_coord.pack() enter_connections = Запись (окно) запись_connections.pack() button_add = Кнопка (окно, текст = «Добавить», команда = get_data) button_add.pack() button_create = Кнопка(окно, текст="Создать таблицу", команда=лямбда: create_table(вершины)) button_create.pack() окно.mainloop()