Форум сайта python.su
Здравствуйте!
Есть ли в combobox tkinter и listbox tkinter свойство itemdata и как использовать?
Например есть item1, item2, item3 и их коды 2456, 1478, 549.
Как добавить и получить эти данные в combobox и listbox?
Например, в VB6 это можно так сделать:
Mycombo.Add(“item1”)
Mycombo.Itemdata(Mycombo.NewIndex)=2456
str= Mycombo.List(Mycombo.ListIndex)
kod = Mycombo.Itemdata(Mycombo.ListIndex)
Офлайн
import tkinter as tk root = tk.Tk() root.title("GUI на Python") items = ['a', 'b', 'c', 'd'] listbox = tk.Listbox() listbox.pack() for i in items: listbox.insert('end', i) listbox.bind('<ButtonRelease - 1>', lambda e: print(i:=listbox.curselection()[0], listbox.get(i))) root.mainloop()
Офлайн
xam1816Спасибо, что ответили.
Офлайн
Есть список городов и их коды, например Москва - 123, Воронеж- 86 и т.д.
Как эти данные вводить в комбобокс или листбокс, чтобы при выборе города получить название города и его кода?
Отредактировано chessmaster (Май 11, 2022 14:43:59)
Офлайн
import tkinter as tk root = tk.Tk() root.title("GUI на Python") items = {'Москва': 123, 'Воронеж': 86} listbox = tk.Listbox() listbox.pack() for i in items: listbox.insert('end', i) def get_data_listbox(e): i = listbox.curselection() data = listbox.get(i), items[listbox.get(i)] print(data) listbox.bind('<ButtonRelease - 1>', get_data_listbox) root.mainloop()
import tkinter as tk root = tk.Tk() root.title("GUI на Python") items = ['Москва-123', 'Воронеж-86'] listbox = tk.Listbox() listbox.pack() for i in items: listbox.insert('end', i) def get_data_listbox(e): i = listbox.curselection() data = listbox.get(i).split('-') print(data) listbox.bind('<ButtonRelease - 1>', get_data_listbox) root.mainloop()
Отредактировано xam1816 (Май 11, 2022 16:55:59)
Офлайн
xam1816Здравствуйте!
Офлайн