#python #tkinter #combobox
Вопрос:
У меня есть поле со списком, для которого я хочу иметь текстовые параметры, но когда этот параметр выбран, я хочу, чтобы целочисленное значение возвращалось в tk.Значение IntVar. могу я это сделать?
selected_diff = tk.IntVar()
nps_difficulty_combo_s = ttk.Combobox(tab3,text = ("Easiest","Moderate","Moderately Strenuous","Strenuous",
"Very Strenuous"), value=[1,2,3,4,5], width=25,
textvariable=selected_diff)
Я попробовал это, но он не отображает текст в качестве параметров.
Спасибо.
Комментарии:
1. Почему это должно быть 1,2,3,4,5?
Ответ №1:
То, что вы хотите сделать, не поддерживается комбинацией ttk. Когда вы это сделаете text=("Easiest", ...)
, tkinter будет рассматривать text
это как сокращение для textvariable
опции.
Простое решение состоит в том, чтобы создать сопоставление со словарем. Затем в выпадающем списке можно отобразить ключи словаря, которые позже можно будет использовать для поиска значения в словаре.
Ответ №2:
Чтобы решить эту проблему, я просто использовал тестовые переменные вместо чисел и изменил переменную захвата на a tk.StringVar()
.