Tkinterウィンドウにマージン(余白)を追加する方法
Tkinterウィンドウの余白(マージン)は、fill、expand、padding の値を指定することで制御できます。これらのオプションを適切に組み合わせることで、ウィジェットとウィンドウ枠との間に任意の間隔を設けることが可能です。
もうひとつの方法として、grid(**options) ジオメトリマネージャを使うやり方もあります。grid マネージャでは、row や column プロパティの値を指定しながら、padx・pady などのオプションで余白を細かく調整できます。
サンプルコード
以下は、pack() メソッドの padx と pady オプションを使って、フレーム周辺にマージンを設定する例です。
# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk
# tkinterフレームのインスタンスを作成
win = Tk()
# Tkinterウィンドウのサイズを設定
win.geometry("700x350")
# ウィンドウのサイズを決めるフレームを追加
frame = Frame(win, relief='sunken', bg="black")
frame.pack(fill=BOTH, expand=True, padx=10, pady=20)
# ラベルウィジェットを追加
label = Label(frame, text="Welcome to Tutorialspoint",
font=('Helvetica 15 bold'), bg="white")
label.pack(pady=30)
win.mainloop()実行結果
上記のコードを実行すると、黒いフレームの中にラベルテキストが表示されます。fill=BOTH と expand=True を指定しているため、フレームはウィンドウ全体に広がり、ウィンドウをリサイズするとフレームもそれに追従して伸縮します。
- padx=10:フレームの左右に10ピクセルの余白を確保します。
- pady=20:フレームの上下に20ピクセルの余白を確保します。
このように padx・pady の値を変更すれば、ウィンドウ内の余白を自由に調整できます。より複雑なレイアウトが必要な場合は、grid(row=..., column=..., padx=..., pady=...) を使うと、行・列単位で余白を管理でき、整然としたUIを構築しやすくなります。
-
TkinterのEntryウィジェットにプレースホルダーを追加する方法
Tkinterは、ボタン、テキスト、エントリ(Entry)、ダイアログなどのウィジェットを提供しており、これらを組み合わせることでGUIアプリケーションを効率的に開発できます。しかし、TkinterのEntryウィジェットには、標準ではプレースホルダーの機能が用意されていません。 プレースホルダーとは、入力欄にあらかじめ表示される仮のテキストのことで、「ここに何を入力すればよいか」をユーザーに伝える重要な役割を果たします。 本記事では、insert(挿入位置, テキスト) 関数を使って、Entryウィジェットにプレースホルダーを追加する方法を解説します。この関数は、第1引数に挿入位置(先頭なら
-
tkinterでウィンドウを閉じる方法|destroy()メソッドの使い方を解説
tkinterを使えば、Pythonで手軽にGUIアプリケーションを作成できます。しかし、タイトルバー右上の×ボタン以外の方法でウィンドウやフレームを閉じたい場合、どのように実装すればよいか悩むこともあるでしょう。そのようなときに役立つのが、ウィンドウを破棄して閉じるための .destroy() メソッドです。tkinterの各ウィジェットや属性は互いに独立しているため、「ウィンドウを閉じる処理」を専用の関数として分離して定義できます。これにより、ボタンのクリックイベントからウィンドウを閉じる動作を自由に制御可能です。サンプルコード# ライブラリをインポート from tkinter impo