[英]set tkinter Optionmenu's title to a string and a StringVar
因此,我有一個標題為“ options”的Optionmenu,那里還有一些選項。 每次我選擇變量1時標題都會更改。 更改后如何設置為字符串“ options”和變量的值? 例如:“選項-音樂關閉”,我嘗試了此操作,但不起作用:
variable1 = StringVar()
variable1.set("something",variable1)
謝謝。
編輯:這是我的代碼的完整版本:
options = Menubutton(frame,textvariable = options3,indicatoron=True,borderwidth=1, relief="raised", width=20)
options.grid(row=3,column=2)#options2 [0] options3
main_menu = Menu(options,tearoff=False)
options.configure(menu=main_menu)
get_options3= options3.get()
neededstring = string+str(options3)
print("needed str", neededstring)
options3.set('options - ' +options3.get())
for item in (("Answer with text", "plain text", "only numbers", "only letters"),
("Answer with Checkbuttons", "red", "green", "blue"), ("Answer with Radiobuttons", "one option can be chosed")
):
menu = Menu(main_menu, tearoff=False)
main_menu.add_cascade(label=item[0], menu=menu)
for value in item[1:]:
menu.add_radiobutton(value=value, label=value, variable=options3)
如果您跟蹤提供給OptionMenu的StringVar,則可以在更改選項時將字符串添加到最前面。 這將創建一個帶有OptionMenu的窗口,該窗口可以執行以下操作:
import tkinter as tk
root = tk.Tk()
# function to add 'options - ' to the front of the selected option
def change_selected(var1):
var1.set('options - %s' % var1.get())
# variable
var1 = tk.StringVar(root)
var1.set('1')
# create menu
options = tk.OptionMenu(root, var1, '1', '2', '3')
options.pack()
# trace variable for changes
var1.trace('w', lambda *args: change_selected(var1))
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.