我試圖從ttk:entry
獲取值。我有以下代碼。如何從ttk獲取值:條目
variable DefaultRoot
ttk::label $wi.custcfg.dlabel -text "Default Root:"
ttk::entry $wi.custcfg.daddr -width 10 -textvariable ::DefaultRoot -validate focusout -validatecommand { puts $::DefaultRoot; return 1}
puts $DefaultRoot
但我得到的最後提出
變量不存在,直到東西寫入條目。您需要將輸出操作綁定到返回事件(當您按下並釋放返回鍵時觸發)。像這樣:'bind $ wi.custcfg.daddr {puts $ :: DefaultRoot}'(過程名稱比這裏的腳本更好)。 –
我試過這樣的事情 'ttk :: entry $ wi.custcfg.daddr -width 10 -textvariable :: DefaultRoot -validate focusout -validatecommand {puts $ :: DefaultRoot;返回1} 把$ DefaultRoot' ,但我仍然得到最後一個投入的錯誤 –
工作適合我。當最後一個put被執行時,它會給出一個錯誤消息,因爲該條目還沒有被使用,但是一旦輸入了文本並且條目失去焦點,放入驗證腳本的工作就可以正常工作。除非你自己創建變量(即給它一個值),否則你永遠不會期望放在最後一行。 –