目次
メインウィンドウを表示する (1)
まずは、tkinter.Tk
オブジェクトを生成します。
その後、mainloop
メソッドを使うことで、メインウィンドウを表示することができます。
また、title
メソッドで、タイトルバーに表示する文字列を設定することができます。
Example
source code
from tkinter import Tk
root = Tk()
root.title("Tkinter win")
root.mainloop()
result
メインウィンドウを表示する (2)
まずは、tkinter.ttk.Frame
を継承したクラスを作成します。
ここでは、作成したクラスを MainFrame
とします。
さらに、MainFrame
オブジェクトを生成するときに、Tk
オブジェクトを指定します。
最後に、MainFrame
オブジェクトの mainloop
メソッドを使うことで、メインウィンドウを表示することができます。
Example
source code
from tkinter import Tk
from tkinter import ttk
class MainFrame(ttk.Frame):
def __init__(self, master):
super().__init__(master)
self.pack()
self.make_style()
self.create_widgets()
def make_style(self):
pass
def create_widgets(self):
# MainFrame の幅と高さを設定
self.configure(width=240, height=160)
root = Tk()
root.title("Tkinter win")
frame = MainFrame(root)
frame.mainloop()
result
メインウィンドウを画面の中央に表示する
まずは、Tk
オブジェクトの mainloop
メソッドの前に、update_idletasks
メソッドを使います。
その後、winfo_width
,
winfo_height
メソッドでメインウィンドウの幅、高さを取得することができます。
また、winfo_screenwidth
,
winfo_screenheight
メソッドでモニターの解像度の幅、高さを取得することができます。
これらより、メインウィンドウを画面の中央に表示するための x, y 座標を求めることができます。
そして、geometry
メソッドの引数に、
"+「ウィンドウのx座標」+「ウィンドウのy座標」"
のような形式の文字列を指定します。
Example
source code
from tkinter import Tk
from tkinter import ttk
class MainFrame(ttk.Frame):
def __init__(self, master):
super().__init__(master)
self.pack()
self.make_style()
self.create_widgets()
def make_style(self):
pass
def create_widgets(self):
# MainFrame の幅と高さを設定
self.configure(width=240, height=160)
root = Tk()
root.title("Tkinter win")
frame = MainFrame(root)
root.update_idletasks()
w = root.winfo_width()
h = root.winfo_height()
scw = root.winfo_screenwidth()
sch = root.winfo_screenheight()
geometry = "+{:d}+{:d}".format(int((scw - w) / 2),
int((sch - h) / 2))
root.geometry(geometry)
frame.mainloop()
result
表示内容は「メインウィンドウを表示する (2)」と同様。
ただし、表示位置は画面の中央になります。
参考リンク
- tkinter --- Tcl/Tk の Python インタフェース — Python 3.7.4 ドキュメント
- TkDocs - Tk Tutorial - A First (Real) Example
- effbot.org - Toplevel Window Methods
- effbot.org - Basic Widget Methods
- Tcl Developer Site - wm manual page - Tk Built-In Commands