Python Code Notes

Information by python engineer

【tkinter】画面をモニター端に自動で移動させる方法【Python】

以下の記事では、既知のサイズのtkinterメイン画面をモニター端に移動させる方法を示した。今回は、メイン画面のサイズによらずに自動でモニター端に移動させる方法を示す。

また、アプリ起動時に画面を移動させる方法は以下の記事を参照。


【スポンサーリンク】


以下の例では、ボタンクリック時にtkinter画面とモニターのサイズ(幅)を取得し、geometry関数を使用してtkinter画面を移動させている。

how to move the tkinter main window to the corner…

表示されたボタンをクリックすると、tkinter画面がモニター右上隅に移動する。

tkinter画面サイズを変えたのちにクリックしても、画面サイズを読み取って隅に移動させる。

上の例では、実際にはtkinterの画面右側が、ややモニター外に位置してしまっている。これは、tkinterメイン画面には見えない枠があることが原因である。tkinter画面端とモニター端ピッタリ合わせるためには、その枠分だけ座標をシフトさせる必要がある。枠の幅は、以下の方法で取得可能である。実装方法は、上記例の"move_position2関数"を参照。

frame = self.master.winfo_rootx() - self.master.winfo_x()   #invisible frame width