我正在使用TixBalloon在GUI中生成工具提示,我想將工具提示或狀態消息作爲StringVar()的文本中的一些Entry小部件。變量。因此,代碼會看起來像:Python:TixBalloon,使用StringVar()作爲消息
from Tkinter import *
from Tix import *
root = Tk()
status = Label(root, height = 3, width=30, bd=1,bg='yellow',wraplength = 210)
status.grid(row = 0,column = 0,pady = 10)
bal = Balloon(root,statusbar = status)
frame_1 = Frame(root,relief=RIDGE,bd = 2)
frame_1.grid(row=1,column = 0)
Angles = [StringVar(),StringVar()]
Angles[0].set('0')
Angles[1].set('1')
#Incomming
label_in = Label(frame_1,text = "TH_in")
label_in.grid(row = 0,column = 0)
entry_in = Entry(frame_1, width = 20, textvariable = Angles[0])
entry_in.grid(row = 0,column = 1)
#Outgoing
label_out = Label(frame_1,text = "TH_out")
label_out.grid(row = 1,column = 0)
entry_out = Entry(frame_1, width = 20, textvariable = Angles[1])
entry_out.grid(row=1,column=1)
#tool tip/status bar
bal.bind_widget(label_in,balloonmsg='Incidence Angle',statusmsg = Angles[0].get())
bal.bind_widget(label_out,balloonmsg='Detector Angle',statusmsg = Angles[1].get())
root.mainloop()
然而這僅會的「角[0]」和「角度[1]」的狀態中,而不是更新的原始值時的文本輸入框被改變。
這可能很好 - 我知道你不能在實際的狀態消息本身上使用跟蹤(你可以跟蹤它,但回調不能影響實際狀態消息),但它可能會讓它改變綁定的消息....我會去嘗試。 –
它的工作,或多或少,可悲的是它不會強制氣球在鍵入時更新(您必須將鼠標移開並移回),但我認爲這是Tix.Balloon的一個限制。 –
您可以在回調中使用類似'bal.subwidget('message')[「text」] ='的內容來立即更新氣球標籤(但是,您需要一些測試來查找哪個工具提示處於活動狀態)。 – FabienAndre