Tkinterでスプラッシュ画面を作成する方法をわかりやすく解説
アプリケーションを起動した際に一瞬だけ表示される「スプラッシュ画面」。ロゴや読み込み中表示などを映し出すことで、アプリに洗練された印象を与えられます。Pythonの標準GUIライブラリであるTkinterを使えば、このスプラッシュ画面も簡単に実装できます。
スプラッシュ画面作成の基本手順
Tkinterでスプラッシュ画面を作成するには、以下の手順に従います。
- ラベルなどを配置したスプラッシュ画面を作成する
- overrideredirectメソッドを使って、スプラッシュ画面を枠なし(ボーダーレス)にする
- スプラッシュ画面の直後に表示されるメインウィンドウを生成する関数を定義する
- afterメソッドを使って、メインウィンドウへ切り替わるまでの時間を指定する
サンプルコード
# tkinterライブラリをインポート
from tkinter import *
# tkinterフレームのインスタンスを作成
splash_win = Tk()
# ウィンドウのタイトルを設定
splash_win.title("Splash Screen Example")
# ウィンドウのサイズを定義
splash_win.geometry("700x200")
# スプラッシュウィンドウの枠を削除
splash_win.overrideredirect(True)
# スプラッシュ画面に表示するラベルを定義
splash_label = Label(splash_win, text="Hello World!", fg="green",
font=('Times New Roman', 40)).pack(pady=20)
def mainWin():
# スプラッシュ画面を破棄してメインウィンドウを表示
splash_win.destroy()
win = Tk()
win.title("Main Window")
win.geometry("700x200")
win_label = Label(win, text="Main Window", font=('Helvetica', 25), fg="red").pack(pady=20)
# スプラッシュ画面の表示時間を設定(5000ミリ秒=5秒)
splash_win.after(5000, mainWin)
mainloop()実行結果
上記のコードを実行すると、まず緑色のテキストが表示されたスプラッシュ画面が現れます。その後、5秒経過するとスプラッシュ画面が自動的に閉じられ、赤色のテキストが表示されたメインウィンドウへと切り替わります。
ポイントの解説
overrideredirect(True)について
overrideredirect(True)を設定すると、タイトルバーや閉じるボタンなどのウィンドウ装飾がすべて取り除かれ、完全なボーダーレスウィンドウになります。スプラッシュ画面らしい見た目を実現するために欠かせないメソッドです。
afterメソッドについて
after(ミリ秒, 関数名)は、指定した時間が経過した後に特定の関数を実行するためのメソッドです。サンプルでは5000ミリ秒(5秒)を指定しているため、必要に応じてこの数値を変更すれば表示時間を自由に調整できます。
まとめ
Tkinterのoverrideredirectとafterを組み合わせるだけで、特別なライブラリを追加することなくスプラッシュ画面を実装できます。起動時の演出として活用すれば、より完成度の高いデスクトップアプリケーションになりますので、ぜひ試してみてください。
-
Tkinterで自動更新されるGUIを作成する方法|リアルタイム時計アプリの実装例
Tkinterを使用すると、自動的に更新されるよう設定できるGUIアプリケーションを簡単に構築できます。この記事では、時刻が変わるたびに自動的にリフレッシュされるGUIベースのデジタル時計を作成します。時計の時刻に加えて、曜日やタイムゾーンもあわせて表示します。 まずtkinterライブラリをインポートし、次に「strftime」関数を使って現在の時刻や曜日の情報を取得する関数を作成します。 コード例 # tkinterライブラリをインポート from tkinter import * import time # ウィンドウのインスタンスを作成 win = Tk() # ウィンドウのタイ
-
tkinterでウィンドウを閉じる方法|destroy()メソッドの使い方を解説
tkinterを使えば、Pythonで手軽にGUIアプリケーションを作成できます。しかし、タイトルバー右上の×ボタン以外の方法でウィンドウやフレームを閉じたい場合、どのように実装すればよいか悩むこともあるでしょう。そのようなときに役立つのが、ウィンドウを破棄して閉じるための .destroy() メソッドです。tkinterの各ウィジェットや属性は互いに独立しているため、「ウィンドウを閉じる処理」を専用の関数として分離して定義できます。これにより、ボタンのクリックイベントからウィンドウを閉じる動作を自由に制御可能です。サンプルコード# ライブラリをインポート from tkinter impo