我正在使用tkinterGUI。我將事件綁定到這樣的條目:EntryFilePath.bind("<Key>", updateAmountOfPeople)它可以工作,但是問題在于它僅在按下鍵入輸入以外的其他鍵時才更新。退格鍵觸發(fā)它,箭頭觸發(fā)它,而不是字母或數(shù)字。我正在尋找此功能。其他可能重要的信息:PathFileName = StringVar()EntryFilePath = Entry(topLeftMidFrame, textvariable = PathFileName, width=45)EntryFilePath.pack(side=TOP, pady=32, padx=10)如何使它在任何鍵上觸發(fā)?編輯:我發(fā)現(xiàn)這僅在它被選中時才會發(fā)生。它一次需要“其他”非[a-Z0-9]鍵之一,之后就可以使用了。但是,這是有問題的,以防人們立即開始書寫。EDIT2:它可能與它具有更新延遲有關(guān)。
2 回答

泛舟湖上清波郎朗
TA貢獻1818條經(jīng)驗 獲得超3個贊
綁定應(yīng)該對每個按鍵都有效-否則,您正在代碼中的其他位置進行某些操作以防止其起作用,或者您的測試存在缺陷。
如果要在值更改時調(diào)用函數(shù),則可能需要考慮在與條目窗口小部件關(guān)聯(lián)的變量上設(shè)置跟蹤。無論值是通過鍵盤輸入,使用鼠標粘貼等,只要值發(fā)生更改,跟蹤都會觸發(fā)。當(dāng)用戶使用箭頭鍵或回車鍵或任何其他不使用此鍵的回調(diào)鍵時,該跟蹤將不會調(diào)用您的回調(diào)影響價值。
例如:
def var_callback(*args):
print "the variable has changed:", PathFileName.get()
PathFileName.trace("w", var_callback)

慕勒3428872
TA貢獻1848條經(jīng)驗 獲得超6個贊
可以通過改變來解決
EntryFilePath.bind("<Key>", updateAmountOfPeople)
到
EntryFilePath.bind("<KeyRelease>", updateAmountOfPeople)
添加回答
舉報
0/150
提交
取消