2010-12-02 145 views
0

サイズ変更可能なウィンドウの最大化ボタンをWindows上で削除または無効にする方法のアドバイスを探しています。私はPython 2.7 for Windowsを使用しています。Windowsでサイズ変更可能なTkinterウィンドウの最大化ボタンを削除または無効にする

背景:ウィンドウのminsize()メソッドとmaxsize()メソッドで設定された最小サイズと最大サイズのサイズ変更可能なウィンドウがあります。ユーザーが最大化ボタンをクリックすると、ウィンドウはディスプレイの左上に移動します。これは私のユーザーにとっては非常に混乱しているので、そのような行為を防止したいと考えています。

私の研究では、最大化ボタンを無効にするいくつかの方法が示されていますが、サイズ変更可能なウィンドウにこれらのテクニックは適用されません。

    サイズ変更可能(False、False)の方法でウィンドウのサイズを変更しないようにします。

  1. overrideredirect(True)メソッドを使用して、すべてのウィンドウのコントロール(および枠線)を削除します。

  2. 不思議なtransient(1)メソッドを使用します(Windowsでは例外が発生します)。

  3. ウィンドウのイベントをバインドし、最大化をブロックしようとしました(更新:Tkinterは、ハンドラがmaximizeイベントを検出した時点で既にウィンドウを最大化しています)。私が信じているhWndハンドルを介してウィンドウの最大化ボタンを無効にするためにWindows API呼び出しを使用できるかどうかを確認するために、Python Win32 APIメーリングリストに質問を投稿しました。 ?)Tkinterは公開しています。

maximizeイベントをトラップする方法はありますか(Tkinterがそれを実行する前に)?

マルコム

答えて

3

一つの可能​​性は、ツールウィンドウなどのウィンドウを設定することですが、これはまた、副作用が付属しています。ウィンドウがタスクバーに表示されなくなり、タイトルバーが薄くなります。それでもエッジのサイズを変更することができます。

root.attributes("-toolwindow", 1) 

ルート属性の詳細については、this guidebookを参照してください。

関連する問題