キャンバスに画像ギャラリーを描画しています。ウィンドウのサイズが変更されたら、ギャラリーを再描画する必要があります。
<configure>
イベントをバインドして、サイズ変更通知を取得できます。しかし、マウスをドラッグしてウィンドウのサイズを変更すると、あまりにも多くのイベントが発生します。私は変更を保存し、マウスボタンが離されたときにのみギャラリーを再描画したいと思います。
問題: ウィンドウの境界線でプレスまたはリリースイベントを取得する方法が見つかりません。
これは可能なのですか、または枠線は実際にウィンドウの一部ではありませんか?ウィンドウのサイズを変更するときにtkinter get <ButtonRelease-1>
2
A
答えて
4
ウィンドウの境界線でマウスをクリックしたときにユーザーがマウスを離したときを知ることはできません。ボーダーはウィンドウの一部ではなく、Tkinterは作成するウィジェット以外のイベントについてほとんど知識がありません。
最も簡単な解決策は、再描画に遅延を追加することです。 <Configure>
イベントでは、保留中の再描画をキャンセルし、新しいものが1,2秒間に発生するようにスケジュールします。
class Application(...):
def __init__(self, ...):
...
self._after_id = None
self.bind("<Configure>", self.schedule_redraw)
...
def schedule_redraw(self, event):
if self._after_id:
self.after_cancel(self._after_id)
self._after_id = self.after(2000, self.redraw)
+0
ありがとう!私はスレッドからポーリングすることでそのようなことをしていました。関数の後のTkintersはもっと簡単に見えます。そして、国境についての実際の質問に答えることに感謝します。 –
関連する問題
- 1. ウィンドウのサイズ変更時にTkinterリストボックスウィジェットのサイズを変更する
- 2. Tkinter/Python - ウィンドウのサイズが変更されたときにボタンのサイズ変更を無効にする
- 3. ウィンドウのサイズが変更されたときにTkinterウィジェットとキャンバスのサイズを変更しますか?
- 4. PythonのメインTkinterウィンドウのサイズを変更するには?
- 5. 複数のサイズの出力をpython tkinterウィンドウのサイズ変更イベント
- 6. Python Tkinterのサイズ変更ウィンドウとキャンバスの問題
- 7. サイズ変更ウィンドウでtkinterの内容のサイズが変更されない
- 8. OpenGLウィンドウのサイズを変更すると、ウィンドウが開きます
- 9. ウィンドウのサイズを変更するときにコントロールのサイズレイアウトを変更するUWP
- 10. tkinterウィンドウ枠のスタイルを変更する
- 11. ウィンドウのサイズを変更するiframeのサイズを変更する
- 12. JSウィンドウのサイズ変更のサイズ変更
- 13. Python 3.5 tkinter:ウィンドウへのウィジェットのサイズ変更
- 14. Tkinterボタンのサイズ変更
- 15. グリッドマネージャtkinterのサイズ変更
- 16. ウィンドウのサイズ変更
- 17. ウィンドウのサイズを変更したときにTkinterメッセージを展開する方法は?
- 18. サイズ変更ウィンドウで複数のdivのサイズを変更する
- 19. ウィンドウのサイズを変更すると画像のサイズが変更されます
- 20. ウィンドウの幅/高さを変更するときのdivの自動サイズ変更
- 21. Tkinter:別のウィンドウを閉じるときにウィンドウを更新する(クラスベース)
- 22. 自動ウィンドウのサイズ変更
- 23. OpenGLウィンドウのサイズを変更したときにVBOデータを効率的にサイズ変更する方法は?
- 24. ユーザーがウィンドウのサイズを変更したときにページを更新する
- 25. ウィンドウのサムネイルのサイズを変更する
- 26. ウィンドウのサイズを変更するときにCSSサイズ変更のコンテナが小さい
- 27. ウィンドウのサイズを変更するC#
- 28. ウィンドウのサイズ変更を防止する
- 29. ウィンドウのサイズに合わせてコントロールのサイズを変更する
- 30. ユーザスクリプトによるウィンドウのサイズ変更
2つのコールバックについて:サイズを変更すると、フラグ 'resizing'をtrueに設定し、マウスボタンを離すと、そのフラグがtrueであるかどうかをチェックします。そうであれば、それを再びfalseに設定して、あなたの行動を実行します。 –
それはまさに私がやろうとしていることです。私が書いたように、マウスのボタンをウィンドウの境界線(ウィンドウのサイズを変更するためにドラッグする)にリリースすると、リリースイベントが作成されないようです。 –