
【スポンサーリンク】
メイン画面のサイズ・位置を設定
トップレベルウィジェット(Tkウィジェット)のgeometryメソッドに値を入力することで、メイン画面のサイズと位置を調整することができる。
300x150のサイズで座標(100, 100)に画面を出す場合は、以下の通りgeometryメソッドに文字列で"300x150+100+300"
を渡せばよい。
import tkinter root = tkinter.Tk() #トップレベルウィジェット root.geometry("300x150+100+300") #画面サイズ、位置の設定 root.mainloop()
上記のコードを実行すると、下図の様に指定したサイズの画面が指定した位置に出現する。

【スポンサーリンク】
メイン画面のサイズ・位置を取得
geometryメソッドに値を渡さないと、現在の画面サイズ・位置を取得することができる。以下の例では、クリックすると画面サイズを取得して表示するボタンを作成した。
import tkinter #クリックすると画面サイズを取得して表示するボタン class GeometryButton(tkinter.Button): def __init__(self, master): super().__init__( master, width=15, text="click!", command=self.get_geometry, #クリック時に実行 ) self.master = master #トップレベルウィジェット def get_geometry(self): self.config(text = self.master.geometry()) #サイズ・位置を取得して表示 root = tkinter.Tk() b = GeometryButton(root) b.pack() root.mainloop()
上記のコードを実行すると、以下の画面が現れる。

ボタンをクリックすると、画面サイズと位置が表示される。

画面のサイズや位置を変更して再度クリックすると、値が更新される。

モニター画面サイズを取得
winfo_screenwidth
とwinfo_screenheight
メソッドを使用することで、使用しているモニターの横幅と縦幅を取得することができる。以下の例では、これらのメソッドで取得したモニターのサイズをラベルに表示させている。
import tkinter #sizeを表示するラベル class ScreensizeLabel(tkinter.Label): def __init__(self, size, master): super().__init__( master, width=15, text=size, #値を表示 ) root = tkinter.Tk() #トップレベルウィジェット l_width = ScreensizeLabel( root.winfo_screenwidth(), #モニターの横幅を渡す root, ) l_width.pack() l_height = ScreensizeLabel( root.winfo_screenheight(), #モニターの縦幅を渡す root, ) l_height.pack() root.mainloop()
実行すると、以下の通り画面のサイズが表示される。この機能を利用し、tkinterの画面をモニター端に合わせることが可能になる。

【スポンサーリンク】