2016-06-21 8 views
3

私はTkinterウィンドウを持っています。Tkinterウィンドウを強制的にフルスクリーンの上に置く - Windows 10

物事は私が試してみました:

root.attributes('-topmost', True)メインループの前に - だけ

Linux上で動作します -

root.overrideredirect(True)はメインループの前には動作しません - クラス内

self.root.wm_attributes("-topmost", True)を動作しません。メインループ前のroot.lift() - 動作しない

そして最後に、私は繰り返し呼び出されるroot.lift()を設定します。

class TestingGUI: 
    def __init__(self, root): 
     self.root = root 
     self.EnsureTop() 

    def EnsureTop(self): 
     root.lift() 
     root.after(5000, self.EnsureTop)` 

これは、それが成功した私は、例えば使用して、いつもトップに」であると手動で切り替えるきた他のウィンドウの上にウィンドウを上げるという意味で動作しますDexpotですが、重要なことはフルスクリーンアプリケーションでは機能しません。

具体的には、これはゲーム内の音楽プレイヤーであるため、ゲームの上に表示する必要があります。私は、ウィンドウが再び上に呼び出されることを確実にするために、いくつかのコマンドを繰り返し使用する必要があるソリューションでは問題ありません。

+0

申し訳ありませんが、このコメントは少し話題ではない - 質問自体はとても良いですが、2016年にTkinterを使っている人は理解できません。なぜwxWidgets、PySide、PyQt、PyGtkを使用しないのですか? – linusg

+2

https://blogs.msdn.microsoft.com/oldnewthing/20110310-00/?p=11253 – TessellatingHeckler

+0

@linusgこれはPythonの一部であり、Linuxや他の小さなプロジェクトでもうまく動作します。あなたがコメントをしている間、あなたは何をお勧めしますか? – heidi

答えて

1

TessellatingHecklerがコメントに指摘しているように、ウィンドウが別のフルスクリーンの上にとどまることを保証することはできません。私はループを組み合わせてroot.lift()を解決し、ユーザーに境界のないウィンドウでアプリケーションを実行するように求めました。

関連する問題