【初心者向け】Tkinterでウィンドウサイズを指定する方法をやさしく解説!

こんにちは。ゆうせいです。
今回は、Pythonの標準GUIライブラリ「Tkinter(ティーキンター)」でウィンドウサイズを指定する方法について解説していきます。

「GUIって何?」「Tkinterって聞いたことあるけど、難しそう…」という方でも大丈夫。高校生でも理解できるように、たとえ話や図も交えながら、丁寧に説明しますね!


Tkinterとは?まずは基本から

Tkinterは、Pythonに標準で搭載されているGUI(グラフィカル・ユーザー・インターフェース)ツールキットです。

GUIとは、「ボタン」や「テキストボックス」など、見た目で操作できるプログラムの画面のことです。たとえば、電卓アプリのようなものを作りたいときに使います。

Tkinterを使えば、Pythonのコードだけでウィンドウを表示したり、ボタンを置いたり、入力フォームを作ったりできます。


ウィンドウサイズの指定方法

さて、本題に入りましょう。

Tkinterでウィンドウを表示するとき、何もしなければ初期サイズ(だいたい200x200ピクセルくらい)で表示されます。でも、たとえば「横500ピクセル、縦300ピクセルで表示したい」と思うこと、ありますよね?

サイズの指定には「geometryメソッド」を使う

Tkinterでは、ウィンドウサイズを設定するには、以下のようにします。

import tkinter as tk

root = tk.Tk()
root.geometry("500x300")  # 横500px、縦300pxに設定
root.mainloop()

この .geometry() というメソッドの中に、「幅 x 高さ」の文字列を指定することで、ウィンドウサイズを変更できます。

geometryの書き方のルール

  • 書式は "幅x高さ"(例:"800x600")
  • 数字はピクセル単位
  • 「×」ではなく英小文字の x を使う

例えば "1024x768" とすれば、ウィンドウが1024ピクセルの幅、768ピクセルの高さで表示されます。

図で確認!

+-------------------------------+
|                               |  ← 高さ:300px
|                               |
|                               |
|                               |
+-------------------------------+
        ↑ 幅:500px →

ウィンドウの表示位置も指定できる!

geometryメソッドでは、サイズだけでなく表示位置も指定できます。

「+x+y」で画面内の位置も決められる

たとえば、画面の左上から右に100px、下に200pxの位置に表示させたいときは、次のように書きます。

root.geometry("500x300+100+200")

  • +100:左端から右に100ピクセル
  • +200:上端から下に200ピクセル

つまり、「サイズ」と「位置」を一緒に指定できるんです!

例え話:

これは、家(ウィンドウ)を建てるときに、「間取り(サイズ)」だけじゃなく、「土地のどこに建てるか(位置)」も決めるようなものです。


ウィンドウサイズを変更できなくする方法

アプリによっては、「ウィンドウのサイズをユーザーに変えられたくない」と思う場面もあります。

そんなときは、次のようにします。

root.resizable(False, False)

  • 最初の False は「横方向を変更不可」
  • 2番目の False は「縦方向を変更不可」

片方だけを変更可能にすることもできる!

root.resizable(True, False)  # 横だけ変更可能


よくあるミスと注意点

ミスの内容原因と対策
"500×300" と書く「×」が全角だったり、文字コードが違うと認識されません。英語の x を使いましょう。
数字の後にスペースを入れる"500 x 300"のように書くとエラーになります。スペースは入れないようにしましょう。
root.geometry(500x300) と書くgeometryメソッドの引数は文字列です。数字ではなく、**"500x300"**のように「クォーテーション」で囲んでください。

メリットとデメリットも知っておこう

メリットデメリット
サイズ指定で見やすい画面が作れる固定サイズにすると、解像度の違うPCで見づらい場合がある
一貫したレイアウト管理ができる内容に応じて動的にサイズ調整する処理は別途必要

今後の学習の指針

Tkinterのウィンドウサイズ指定は、GUIアプリ開発の第一歩です。これができるようになると、「どんなレイアウトにしようかな」と自分でデザインを考える力がついてきます。

次に学ぶと良いテーマは以下の通りです!

  • ウィンドウの最小サイズ・最大サイズの設定.minsize().maxsize()
  • 画面サイズに合わせたウィンドウのセンタリング
  • ボタンやラベルの配置(Pack、Grid、Placeの使い分け)
  • レスポンシブ対応のレイアウト作成

何か疑問があれば、どんどん質問してくださいね!

それでは、次回も楽しく学んでいきましょう!

セイ・コンサルティング・グループでは、新人エンジニアの方がPythonプログラムを写経できるタイピングゲームを無償公開中です。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。