PythonでGUI作成 tkinterでウインドウを作成する方法

  • URLをコピーしました!

今回からPythonの標準ライブラリtkinterを使って、GUIアプリケーションを作成する方法を解説します。
Windowsでデスクトップアプリというと.NETなどが浮かぶ方も多いかと思いますが、Pythonで実装する方法もありますので紹介していきます。

目次

tkinterとは

TkinterはGUI(グラフィカルユーザーインタフェース)を実装するためのPythonの標準ライブラリです。ボタンやテキストボックス、画像表示などユーザーがキーボードやマウスで操作可能なインタフェースを構築することができます。

公式ドキュメントは以下から参照できます。

ウインドウを実装する方法

tkinterでGUIを作成する際、一番最初に実行するのがTkメソッドです。Tkメソッドを実行することにより、メインウィンドウが作成されます。

root = tk.Tk()

ウィンドウサイズを指定する場合はgeometryメソッドを使用します。引数にウィンドウサイズを指定します。

root.geometry("640x480")

ウィンドウのタイトルを表示する場合はtitleメソッドを使用します。引数にタイトルとして表示したい文字列を指定します。今回は「入力フォーム」と表示してみます。

root.title('入力フォーム')

最後にウィンドウ表示を継続するためのmainloopメソッドを実行します。mainloopメソッドを使用しないと、作成したウィンドウが一瞬で消えてしまいます。

root.mainloop()

作成したソースコード

実際に作成したソースコードは以下の通りです。

import tkinter as tk

#ウィンドウを作成
root = tk.Tk()

#ウィンドウサイズを指定
root.geometry("640x480")

#ウィンドウタイトルを指定
root.title('入力フォーム')

#ウィンドウ表示継続
root.mainloop()

実行結果

プログラムを実行した結果は以下の通りです。
指定したサイズでウィンドウが生成され、上部のバーにタイトル文字が表示されていることが確認できました。

フォーム上にウィジェットを配置する

tkinterではフォーム上に表示するオブジェクトのことをウィジェットと呼びます。ここからは作成したフォーム上にウィジェットを配置する方法について解説します。

ウィジェットを設置したフォーム

画像のように作成したフォーム上にウィジェットを配置していくことで入力フォームなどの機能を構成することができます。

ラベル、テキストボックス、コンボボックス、ボタン

tkinterでGUIを作成する上で基本的なウィジェットとなるラベル、テキストボックス、コンボボックス、ボタンの実装方法を以下の記事で解説しています。
また、ウィジェットの配置場所をコントロールするフレームについても解説していますので、入力フォーム等を作成する際の参考にしてください。

図を描画するウィジェットcanvas

canvasウィジェットを使用することで、フォーム上に図を描画したり、画像を表示することが可能です。canvasウィジェットの使用方法を以下の記事で解説しています。

複数行のテキストを入力できるscrolledtest

フォーム上で複数行のテキストを入力したい場合はscrolledtestウィジェットを使って実装することができます。scrolledtestでは入力しているテキストの行数がテキストボックスの表示エリアを超えると自動的にスクロールバーが表示されますので、長文の入力が可能になります。
scrolledtextウィジェットの詳しい使い方は以下の記事で解説しています。

まとめ

今回はtkinterを使ってウィンドウを作成する方法を解説しました。今後当ブログでフォームに様々な機能を実装するウィジェットの使い方を解説していく予定です。

また、PythonでGUIを作成する方法についてさらに詳しく学びたい方にはUdemyの以下の講座がおすすめです。tkinterの使い方を動画で詳しく解説されていますのでぜひ参考にしてみてください。

0から始めるTkinterの使い方完全マスター講座〜Python×GUIの基礎・応用〜 icon

それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次