如何在程序运行期间更改菜单内的文本?

时间:2017-04-17 20:53:32

标签: python tkinter menu

我希望在程序运行时让用户有机会将语言从德语更改为日语! (多语言程序) 我尽我所能并检查了很多东西,但我找不到办法!

以下是代码:

# -*- coding: utf-8 -*-

from tkinter import *

lang_datei = ("Datei", "Neu", "Beenden")
lang_sprache = ("Language", "Deutsch", "日本語")

fenster = Tk()
fenster.geometry("500x400")

# Definition Text widget
def buildnew_textwidget():
    T.insert(END, "")
T = Text(fenster, height=500, width=400)
T.pack()

### Definitionen filemenu ###
def NewFile():
    pass

### Definition String Language DE / JP
def Sprache_de():
    lang_datei = ("Datei", "Neu", "Beenden")
    lang_sprache = ("Sprache", "Deutsch", "日本語")

def Sprache_jp():
    lang_datei = ("ファイル", "新しい", "終了する")
    lang_sprache = ("言語", "Deutsch", "日本語")

menu = Menu(fenster)

# file menu
filemenu = Menu(menu, bd=0, tearoff=0,)
menu.add_cascade(label=lang_datei[0], menu=filemenu)
filemenu.add_command(label=lang_datei[1], command=NewFile)
filemenu.add_command(label=lang_datei[2], command=fenster.quit)

# language menu
sprachmenu = Menu(menu, tearoff=0)
menu.add_cascade(label=lang_sprache[0], menu=sprachmenu)
sprachmenu.add_command(label=lang_sprache[1], command=Sprache_de)
sprachmenu.add_command(label=lang_sprache[2], command=Sprache_jp)


fenster.config(menu=menu)
fenster.mainloop()

1 个答案:

答案 0 :(得分:1)

要更改现有菜单项的文本,您必须使用entryconfigure方法。它将索引(数字索引或现有项的文本)作为参数,然后是一个或多个选项及其新值。

例如,要将菜单中第一项的标签更改为“Hello”,您可以执行以下操作:

the_menu.entryconfigure(0, label="Hello")