Я не смог воспроизвести проблему при запуске следующего кода с Python 2.7.15.Для обработки арабских значений не потребовалось ничего особенного.
Обратите внимание, что Tkinter управляется событиями, что означает, что все, что происходит, происходит много раз, когда работает mainloop()
.Для print
текущего значения Combobox
требуется определить функцию обратного вызова (value_changed()
в приведенном ниже коде) и «привязать» ее к виртуальному событию, которое генерирует Tkinter при каждом изменении значения связанного виджета Combobox
.
#!/usr/bin/env python2
# -*- coding: UTF-8 -*-
from tkinter import *
from tkinter.ttk import Combobox
t = Tk()
t.geometry('1000x600') # Make window big enough to display Combobox.
v = ["تصنيفات","نصنيفات"]
combo = Combobox(t, values=v, state="readonly")
combo.place(x=758, y=145)
def value_changed(event):
""" Combobox callback function. """
print 'combo.get():', combo.get()
combo.bind('<<ComboboxSelected>>', value_changed) # Bind event-handling function.
t.mainloop()
А вот снимок экрана, на котором Combobox
отображается с арабскими значениями:
