亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改 StringVar 時,OptionMenu 小部件不會更新,直到懸停

更改 StringVar 時,OptionMenu 小部件不會更新,直到懸停

慕妹3146593 2022-03-09 20:38:43
我需要一個菜單,它可以響應通過運行代碼單擊的項目,然后將文本切換回默認文本。目前,我的實現有效,但默認文本僅在單擊后光標懸停在菜單上時顯示。我已經搜索過,但找不到與此問題相關的任何內容,盡管這可能是因為我不確定究竟是什么原因造成的。這是重現此行為的代碼:from tkinter import *root = Tk()default_text = 'select an item'def thing_selected(self, *args):    #other stuff happens here    var.set(default_text)var = StringVar(root)var.set(default_text)var.trace('w', thing_selected)menu = OptionMenu(root, var, *['Pizza','Lasagne','Fries','Fish'])menu.pack()root.mainloop()這是一個代表結果的gif:我希望頂部的文本會立即更新,但只有當光標懸停在小部件上時才會更新我正在尋找某種方法來觸發小部件上的懸停事件,或者我愿意接受任何其他方法的建議來實現這一點。
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

您可以采取不同的路線并使用以下command屬性OptionMenu:


import tkinter as tk


root = tk.Tk()


default_text = 'select an item'


def thing_selected(selected):

    #other stuff happens here

    print(var.get())

    var.set(default_text)

    print(var.get())


var = tk.StringVar()

var.set(default_text)


options = ['Pizza','Lasagne','Fries','Fish']

menu = tk.OptionMenu(root, var, *options, command = thing_selected)

menu.pack()


root.mainloop()


查看完整回答
反對 回復 2022-03-09
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號