キャンバスに画像ギャラリーを描画しています。ウィンドウのサイズが変更されたら、ギャラリーを再描画する必要があります。
<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. 複数のサイズの出力をpython tkinterウィンドウのサイズ変更イベント
- 3. サイズ変更ウィンドウでtkinterの内容のサイズが変更されない
- 4. OpenGLウィンドウのサイズを変更すると、ウィンドウが開きます
- 5. tkinterウィンドウ枠のスタイルを変更する
- 6. ウィンドウのサイズを変更するときにコントロールのサイズレイアウトを変更するUWP
- 7. Python 3.5 tkinter:ウィンドウへのウィジェットのサイズ変更
- 8. ウィンドウのサイズを変更するiframeのサイズを変更する
- 9. Tkinterボタンのサイズ変更
- 10. ウィンドウのサイズを変更したときにTkinterメッセージを展開する方法は?
- 11. ウィンドウのサイズ変更
- 12. ウィンドウの幅/高さを変更するときのdivの自動サイズ変更
- 13. OpenGLウィンドウのサイズを変更したときにVBOデータを効率的にサイズ変更する方法は?
- 14. 自動ウィンドウのサイズ変更
- 15. ユーザーがウィンドウのサイズを変更したときにページを更新する
- 16. ウィンドウのサムネイルのサイズを変更する
- 17. ウィンドウのサイズを変更するときにCSSサイズ変更のコンテナが小さい
- 18. ウィンドウのサイズ変更を防止する
- 19. ウィンドウのサイズを変更するC#
- 20. ウィンドウのサイズに合わせてコントロールのサイズを変更する
- 21. フレックスボックスによるウィンドウのサイズ変更
- 22. ユーザスクリプトによるウィンドウのサイズ変更
- 23. Qizeウィンドウのサイズ変更
- 24. pyqt4ウィンドウのサイズ変更イベント
- 25. SharpDX 2Dウィンドウのサイズ変更
- 26. SDL OpenGLウィンドウのサイズ変更
- 27. ブートストラップモーダルのサイズ変更ウィンドウ
- 28. SlimDXウィンドウのサイズ変更
- 29. Win32ウィンドウのサイズ変更アニメーション
- 30. wxPython:ウィンドウのサイズをリアルタイムで変更するときのウィンドウサイズの更新方法
2つのコールバックについて:サイズを変更すると、フラグ 'resizing'をtrueに設定し、マウスボタンを離すと、そのフラグがtrueであるかどうかをチェックします。そうであれば、それを再びfalseに設定して、あなたの行動を実行します。 –
それはまさに私がやろうとしていることです。私が書いたように、マウスのボタンをウィンドウの境界線(ウィンドウのサイズを変更するためにドラッグする)にリリースすると、リリースイベントが作成されないようです。 –