2016-04-02 11 views
0

TCL/TK GUIがあり、いくつかの中間ウィンドウがあります。私は、中間ウィンドウが起動されたときにメインウィンドウをビジー状態に保ちます。tclのウィンドウを上に保つ方法

しかし、他のアプリケーションを起動すると中間ウィンドウがバックグラウンドで表示されることがありますが、現時点ではGUIがハングアップしているようです。だから、メインウィンドウと一緒にフォアグラウンド/バックグラウンドでウィンドウを維持するのが目的です。

私は一時的なウィンドウオプションのために行く。

wm transient .runner .restGUI 

これはWindowsではうまくいきますが、Linuxでは一時ウィンドウに[x]閉じるボタンが表示されません。タイトルバーを右クリックして閉じる必要があります。これはGUIを無効にします。

これについてのご提案です。

また、Linuxの通常のウィンドウでは動作しませんが、一時的なウィンドウでも動作します。

答えて

0

grab .runnerと試して、ウィンドウを一番上に置きます。 しかし、これはWindowsだけで動作しているのですが、Linuxでは動作しません。

製品の検証は両方のプラットフォーム

+0

を参照してください。 – Jerry

2

に行われているように、ウィンドウが上に滞在します保証に方法はありません、両方のプラットフォームのためのソリューションをしたいです。他のプログラムはいつも介入してそれを防ぐことができます。しかし、あなたは本当に強いヒントを提供することができます右を設定することによってattribute on the window

# Can use any boolean value here 
wm attributes .runner -topmost yes 

これは、クロスプラットフォームの属性(あることは非常に少数の1)を使用すると、十分に近代的なプラットフォーム上で十分に現代のTkを使用していています。あなたはすでにそうしているでしょう。

また、ウィンドウを一時的なようにスタイルする必要があります。一番上の属性は独立軸です。より拡張された議論(多くの廃止)については

は、あなたが、これは技術的に答えではないとして、この回答を削除、その後、あなたの質問にこれを編集したい場合がありますthe Tcler's Wiki ...

+0

常に尋ねます:他のアプリケーションでもこれが行われるとどうなりますか? –

関連する問題