所以,我希望用戶能夠用英語使用我的程式。他們應該能夠通過下拉選單切換到他們的語言。我的程式只有四頁,每頁都有幾個標簽,沒有必要用工具包翻譯它們。
這就是我到目前為止得到的:
# Language Settings
def display_selected(choice):
choice = variable.get()
if choice == "Deutsch":
languagelabel.config(text=str('Sprache:'))
Page1(self).label_search.config(text=str('Suche'))
else:
languagelabel.config(text=str('Language:'))
Page1(self).label_search.config(text=str('search'))
# Dropdown Menu for Languages
languages = ['Deutsch', 'English']
variable = StringVar()
variable.set(languages[0])
dropdown = OptionMenu(self, variable, *languages, command=display_selected)
同一類中的語言標簽會發生變化,但“Page1”類中的 search_label 不會。什么都沒有發生,我錯過了什么嗎?
我有點新手,所以任何指導和/或其他解決方案將不勝感激!
uj5u.com熱心網友回復:
我能想到的一個選項是使用StringVar()s 來存盤每種語言選項需要翻譯的標簽,并將這些變數分配給每個標簽的textvariable引數
# EXAMPLE
lang_label_var = tk.StringVar()
label_search = tk.Label(
textvariable = lang_label_var
# whatever other attributes
)
search_label_var = tk.StringVar()
languagelabel = tk.Label(
textvariable = search_label_var
# whatever other attributes
)
您應該能夠將set()這些變數設定為適用于英語或德語的任何單詞,并遵循類似的邏輯choice = variable.get()。設定分配給的變數時,每個專案的標簽文本應自動更新textvariable。
if choice == 'Deutsch':
lang_label_var.set('Sprache:')
search_label_var.set('Suche')
elif choice == 'English':
lang_label_var.set('Language:')
search_label_var.set('Search')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/477341.html
標籤:Python tkinter 下拉式菜单 蟒蛇类 tkinter-menu
上一篇:我正在嘗試從tkinter中的單選按鈕獲取值,但由于“NameError:名稱'var'未定義”而出現錯誤。下面是我的整個代碼。和
下一篇:OpenCV中的凍結相機
