我正在玩運動控制器,因此要「點擊」一個按鈕我在哪裏找出哪個按鈕最接近中間點,然後使用button.invoke( ) 方法。Python tkinter button.invoke方法問題
我相信按鈕和設置工作,因爲每當我點擊按鈕 - 他們工作正常。但是,當通過「button.invoke」方法調用按鈕時,整個事情就會凍結。
其他可能有用的信息: - gui通過.mainloop函數在它自己的線程中被更新。 - 當被鼠標點擊時,一切正常工作 - 在進行簡單的打印操作時,button.invoke()方法正常工作。它只在切換幀時凍結。
任何幫助將是偉大的,謝謝。
你可以分享一些代碼來向我們展示更多的工作,尤其是'button.invoke()'裏面發生了什麼。 – Oren
另外,'button.invoke'是從不同於'mainloop'的線程調用的嗎?這在tkinter中不合法;它可能在某些情況下有效,但在其他情況下可能有效,或者相同的情況可能有時但並非總是有效,或者它可能在一個平臺或Tk版本上運行,但不能運行在另一個平臺上,但如果它有效,那只是因爲你幸運;它不應該。 – abarnert
我想你已經在那裏碰到了問題。問題是線程A正在運行mainloop(),它只是等待一些東西,所以它永遠不會離開那一行。線程B在使用運動控制器時調用按鈕。 我應該真的改變我的問題在這一點上,「我怎麼只運行」Mainloop「有限的時間?或者改變一些東西,所以mainloop會處理這個變化」 – user2498925