potisanのプログラミングメモ

プログラミング素人です。昔の自分を育ててくれたネット情報に少しでも貢献できるよう、情報を貯めていこうと思っています。Windows環境のC++やC#がメインです。

Python 3 tkinterのbind("<1>", ...)は左クリックでなく左ボタン降下

tkinterbind("<1>", ...)あるいはbind("<Button-1>", ...)は左クリックではなく左ボタン降下です。この方法でコールバック関数からポップアップメニューを呼び出すとボタンの表示が降下状態のままになります。

左クリックを検出したい場合はButton(..., command=...)などのcommand引数を使います。event: Event引数は使えなくなりますが、TkFrameのサブクラスを使っていればfn(self)selfからカーソル位置などを取得できるので問題ありません。

英語圏のページでも普通に間違えが書いてあるので、正解にたどり着くまで時間がかかりました。