2017-12-01 15 views
0

프로그램을 개선하고 싶습니다. 어떻게 해야할지 모르겠습니다.Python/tkinter : Events : 위젯에 마우스로 함수 호출

사용자 마우스가 tkinter의 위젯 위에있을 때 이벤트가 시작되기를 원합니다.

이 ...

button.bind("<Motion>", lambda eff: callback()) 

은 ... 노력하고 있지만, 사용자는 호출 기능을 위해 마우스를 이동해야합니다.

예를 들어, 마우스를 위젯 위에 올려 놓은 상태에서 함수를 x 초마다 시작할 수 있습니까?

단추 나 레이블 위에 마우스가있을 때 단추 또는 레이블의 텍스트로 계속 변경되는 정수를 표시해야합니다.

아이디어가 있으십니까? 귀하의 관심

감사합니다,

루카스

답변

2

당신은 마우스가 위젯을 입력하면 함수를 실행하는 데 <Enter>에 기능을 결합 할 수 있으며, 당신이 떠날 때 트리거 <Leave>에 바인딩 할 수 있습니다.

<Enter> 바인딩은 after을 사용하여 주기적으로 레이블 업데이트를 시작하는 기능을 실행할 수 있습니다. <Leave> 바인딩은 업데이트 기능이 업데이트 중지를 알기 위해 검사하는 플래그를 설정할 수 있습니다.

after을 정기적으로 사용하는 것에 대해 많은 질문과 대답이이 사이트에 있습니다. 예 : How to use the after method to make a callback run periodically?