2016-11-29 12 views
2

私はメインウィンドウ(Tk)と追加ウィンドウ(Toplevel)を持つtkinterアプリケーションを持っています。tkinterでウィンドウをグループ化する

これらのウィンドウをウィンドウマネージャ(GNOMEシェル)でグループ化します。私は、WM_CLASSリソースとWM_CLASS名の両方を両方のウィンドウで同じように設定する必要があると考えています。

Tkにを設定し、Toplevelにclassを設定すると、アプリケーション名にWM_CLASSという名前が変更されているように見えますが、これはグループ化していないと思われる理由です。ウィンドウ上のxprop WM_CLASSは、Tkの両方のエントリーに自分が選択した名前を表示します:WM_CLASS(STRING) = "myapp", "Myapp"。 Toplevelの場合、最初の要素のtk_uidが表示されます。WM_CLASS(STRING) = "140626444609872", "Myapp"

また、ウィンドウのタイトルを設定しようとしましたが、違いはありませんでした。

答えて

3

wm groupコマンドを使用すると、ウィンドウをグループ化できます。一部のオペレーティングシステム/ウィンドウマネージャはこの設定を尊重しないことがあります。

tkinterでは、ルートTkインスタンスを引数としてToplevelインスタンスのgroupを呼び出すことで、これを行うことができます。

参考文献:wm (tk)wm (tkinter)

+0

これは働いていました! WM_CLASSは必要なものではないことが判明しました。 tkinterでは、top_level.group(root)を実行する必要があります。top_levelはToplevel、rootはTkインスタンスです。ありがとう! –

+0

実際に編集しました。 –

関連する問題