Как сохранить порядок элементов, вставленных в древовидное представление ttk?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как сохранить порядок элементов, вставленных в древовидное представление ttk?

Сообщение Anonymous »

Я пытаюсь импортировать XML-файл в свое программное обеспечение, в результате чего получается древовидное представление ttk с порядком элементов в XML-файле. Но древовидное представление не сохраняет порядок элементов, хотя я вставляю их один за другим с индексом вставки «конец».
Как я могу остановить эту «автосортировку» и почему последний столбец является релевантным?
Источник xml:
Изображение
Импортировать результат:
Изображение

Код импорта:
self.tree_view = ttk.Treeview(
master=self, columns=("name-comment", "external-id"), selectmode="browse"
)
self.tree_view.heading("#0", text="Criterions")
self.tree_view.heading("name-comment", text="Name/Comment")
self.tree_view.heading("external-id", text="ExternalId")
self.y_scrollbar = ttk.Scrollbar(
master=self.tree_view, orient="vertical", command=self.tree_view.yview
)
self.tree_view.pack(side="left", fill="both", expand=True)
self.y_scrollbar.pack(side="right", fill="y")
self.tree_view.configure(yscrollcommand=self.y_scrollbar.set)

def open_varcust(self):
self.file_path = filedialog.askopenfilename()
varcust = open(self.file_path, "r")
external_id = ""
comment = ""
name = ""
value = ""
for line in varcust:
if "ExternalId=" in line:
external_id = line.split('ExternalId="')[1].split('">')[0]
elif "" in line:
comment = line.split("")[1].split("")[0]
elif "" in line:
name = line.split("")[1].split("")[0]
elif "" in line:
item = self.tree_view.insert(
"", "end", text=name, values=(comment, external_id)
)
comment = ""
name = ""
elif "" in line:
value = line.split("")[1].split("")[0]
elif "" in line:
self.tree_view.insert(
item, "end", text=value, values=(name, external_id)
)
comment = ""
name = ""
varcust.close()


Подробнее здесь: https://stackoverflow.com/questions/791 ... k-treeview
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»