Могу ли я отобразить параметры тестирования в поле со списком tkinter, но при этом указать в нем значения?

#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() .