0

我的 GUI 中有一个菜单。此菜单用于选择将哪个标签添加到 GUI。

当我启动程序时,菜单已经显示了选择的默认选项,但是这个选项在程序的任何地方都没有使用。它需要用户的操作(单击并在菜单中选择)才能从该菜单中获取某些内容。

我希望我的程序立即使用默认菜单的选项,以后可以由用户更改。你能给我一些提示,不仅是针对这个特定的标签相关任务,而且是一般性的?如何在程序中使用默认菜单值,而不与菜单交互?

这是我的代码:

from tkinter import *

root=Tk()
root.title("test")
# root.geometry("400x400")

def selected(event):
    myLabel=Label(root, text=clicked.get()).pack()

options=["a","b","c"]

clicked = StringVar()
clicked.set(options[0])

drop=OptionMenu(root,clicked,*options, command=selected)
drop.pack()
root.mainloop()
4

1 回答 1

1

一个简单的方法:

from tkinter import *

root=Tk()
root.title("test")
# root.geometry("400x400")

def selected(event):
    myLabel['text'] = clicked.get()

options=["a","b","c"]

clicked = StringVar()
clicked.set(options[0])

drop=OptionMenu(root,clicked,*options, command=selected)
drop.pack()


myLabel = Label(root, text=clicked.get())
myLabel.pack()

root.mainloop()

或者我建议你使用textvariable,那么你不需要使用函数来更改标签:

from tkinter import *

root=Tk()
root.title("test")
# root.geometry("400x400")


options=["a","b","c"]

clicked = StringVar()
clicked.set(options[0])

drop=OptionMenu(root,clicked,*options)
drop.pack()


myLabel = Label(root, textvariable=clicked) # bind a textvariable
myLabel.pack()

root.mainloop()
于 2020-04-25T11:58:04.517 回答