本記事では、プログラミング初心者向けに、「Python」のGUIライブラリ「Tkinter」の特徴やメリット、デメリット、さらにインストール方法について解説します。
「Python」のGUIライブラリの1つが「Tkinter」です。「Tkinter」を利用することで、比較的容易にデスクトップアプリなどを制作できます。本記事では、初心者向けに「Python」のGUIライブラリ「Tkinter」のメリットやデメリット、インストール方法を解説します。
目次
「Tkinter」は、Windows・macOS・LinuxなどのOSに対応した「Python」の標準ライブラリの1つです。
「Python」で扱うためのライブラリで、「Python」以外では「Ruby」「Perl」などの言語にも「Tkinter」と似たライブラリがあります。シンプルな構造で起動も速いため、GUI開発によく利用されているライブラリです。
具体的には「Tkinter」を利用してウィンドウの生成や、ボタン、メニュー、テキストボックス、ラベル、チェックボックス、ラジオボタンなどのウィジェット(インタラクティブな操作要素)の配置や制御などが可能になります。
つまりTkinterを使用することで、ユーザーがマウスやキーボードで直接操作できる視覚的なインターフェースを持つアプリケーションをPythonで作成できるのです。
そのため、「Python」がインストールされていれば、あとでインストールする必要がなく「Tkinter」の利用が可能です。
「Tkinter」を扱うにあたっては、Tcl/Tkについてを理解する必要があります。PythonのTkinterはこのTcl/Tkを利用して、PythonでのGUI開発を可能にするライブラリです。Tclは「Tool Command Language」の略称で「ティクル」と呼ばれます。
Tkinterは内部的にTcl/Tkを利用しています。Tcl/Tkの理解があれば、Tkinterで提供されているウィジェットの背後にある基本的な原理や動作を理解し、あるいは問題が発生した場合のデバッグがやりやすくなるため、Tcl/Tkの理解が求められるのです。
Tclは1998年に登場した、シンプルな仕組みのスクリプト言語です。TkとはTclでGUI開発ができるキットのことで、「Tool Kit」の頭文字を取ったものとなります。2つの名称を合わせてTcl/Tkと呼ばれています。
「Tkinter」を活用するメリットは主に3つです。
ここでは、「Tkinter」を活用するメリットをそれぞれ解説します。
「Tkinter」を活用する1つ目のメリットは、「Python」の標準ライブラリという点です。「Python」に標準で入っているライブラリであるため、あらためて設定したりインストールしたりする必要がなく、開発環境に「Python」が入っていれば操作できます。
「Tkinter」を活用する2つ目のメリットは、シンプルな文法で記述できることです。「Tkinter」はシンプルな文法なので、初めて使用する方でも理解しやすい点が特徴です。
「Python」自体もシンプルな記述で、プログラミング初心者でも身に付けやすいため、「Tkinter」を導入することでGUI開発がより容易になります。さらに処理速度も速いので、これから「Python」を使う方は「Tkinter」の活用をおすすめします。
「Tkinter」を導入する3つ目のメリットは、公式ドキュメントが充実していることです。公式ドキュメントとは、プログラミング言語やフレームワーク・ライブラリなどを公式に公開している、説明書やチュートリアルのようなものです。
「Tkinter」は公式ライブラリが充実しており、日本語でまとめてあるので、初めて使用する方でもほとんどの問題が解決できます。公式ドキュメントには精度の高い情報が記載されているので、ミスやトラブルなどが起こりにくいのが魅力です。
「Tkinter」を活用することには、メリットだけでなくデメリットもあります。主なデメリットは以下のとおりです。
それぞれ解説します。
「Tkinter」を活用する1つ目のデメリットは、機能面に不足があることです。「Tkinter」のベースになっているTcl/Tkは、コンパクトに設計されているので、他のGUIライブラリと比較すると機能面に不足を感じる方がいます。他のGUIライブラリはTcl/Tkではなく、主に「C」や「C++」がベースになっているため、「Tkinter」より豊富な機能が搭載されています。
Tk8.5でテーマ付きのウィジェットが導入され、より使いやすくなりましたが、その状態でも機能面で不満を感じることがあるでしょう。そのため複雑な機能を実装する場合に、「Tkinter」は適していません。
「Tkinter」を活用する2つ目のデメリットは、もととなる言語であるTcl/Tkが比較的古いことで、最新の情報や操作方法がすぐに見つけられない場合がある点です。「Tkinter」のベースであるTcl/Tkは言語が古いので、あまり最新情報や操作方法などがありません。
他のGUIライブラリであれば、最新の情報が定期的に更新されているため、トラブルや疑問などがある場合でも解決しやすくなります。しかし、「Tkinter」の場合、情報が分散しているか、あるいは古いかもしれません。
とはいえTkinterはPythonの標準ライブラリであるため、Pythonの大きなコミュニティからのサポートを受けることができ、Pythonコミュニティを起点とした豊富なリソースからトラブルの解決法や解決のヒントを得られる可能性があります。
「Tkinter」を活用する3つ目のデメリットは、処理によってはソースコードが煩雑になることがあることです。ソースコードが煩雑になり、読みにくくなる主な原因は、「Tkinter」に使用するウィジェットが多くなるからです。ウィジェットが多くなると、その分ソースコードの解析に時間がかかってしまい、開発者に負担がかかります。
さらに「Tkinter」はウィジェットを設置するとき、種類・選択肢・レイアウトを一定の順序で設定しなければならないという規則があるため、手間がかかってしまうのです。ルールを意識して、ウィジェットを控えるといった意識が求められます。
「Tkinter」は「Python」の標準ライブラリなので、「Python」のインストールパッケージとセットになっています。そのため、「Python」の公式サイトにあるダウンロードリンクからインストーラを入手して実行すれば「Tkinter」のインストールは完了です。
ただし、「Tkinter」のインストール方法は、Windows・macOS・LinuxなどのOSによって少し異なります。ここでは、OSごとの「Tkinter」のインストール方法を、それぞれ解説します。
「Tkinter」のWindows版をインストールする方法は、以下の手順です。
1. 「Python」の公式サイトもしくはWindows Storeからインストーラをダウンロード
2.インストーラを起動して、最初の画面「Install Python 3.xx.x (64-bit)」(サイト閲覧時の最新安定バージョン)を表示
「Install Now」でインストール開始する方法と「Customize installation」を選択できる画面において「Customize installation」を選択する方法の2とおりがあります。カスタマイズが必要ない場合は「Install Now」を選択してください。
「Optional Features」画面で「tcl/tk and IDLE」のチェックボックスがONになっていることを確認したら、「Next」をクリックしてインストール作業を進めます。
事前に「Python」がインストールされている場合は、pipで「Tkinter」だけを追加することも可能です。
Macは、「Python」がプリインストールされているため、「Tkinter」も基本的には最初から搭載されています。
ただし、バージョンが古い「Python」や「Tkinter」の可能性もあります。このような場合、以下の手順で最新のものをインストールしましょう。
公式サイトからインストールする場合、Windows版とほとんどインストールするための手順が同じです。どちらのOSを利用している場合でも、簡単にインストールができます。
Linux版では、OSに付属するパッケージマネージャを使用してインストールしてください。UbuntuおよびPython3の環境で「Tkinter」をインストールするコマンド例は、以下です。
sudo apt-get install python3-tk
インストール作業が完了したら、下記のコマンドを実行して動作を確認してください。
python3 -m tkinter
すでに「Python」がインストールされている場合は、インストールした「Python」に「Tkinter」がインストールされているかimportで確認しましょう。
確認するには、以下のコードを実行してください。
$ Python3 >>> import tkinter
エラーが発生しなければ、正常にインストールされています。
Anacondaで「Tkinter」をインストールする場合は、$ conda install tkというcondaコマンドを使用します。
モジュールを更新する場合は、installではなくupdateを指定してください。
「Tkinter」がインストールできたら、以下のコマンドを実行して動作を確認します。
python(インストール済みのバージョンによってはpython3) -m tkinter
正常にインストールされていたら、上記コマンド実行後、上図左のTcl/Tk画面が表示されます。
上記で解説した方法でも、まれに「Tkinter」をインストールできないことがあります。
「Tkinter」がインストールできないときは、次のことを確認してください。
3つのポイントを確認することで、「Tkinter」をインストールできない原因が判明します。ここではそれぞれのポイントを解説します。
まずは、モジュールがあるかどうかを確認してください。なぜならTkinterはPythonの標準ライブラリの一部であるため、Pythonをインストールすると自動的にインストールされると考えられているからです。もしTkinterがインストールできない場合は、Pythonのインストールに問題がある可能性があります。「Python」でimport tkinterを実行した際に、「ModuleNotFoundError: No module named ‘tkinter」が表示される原因は、モジュールが見つからないからです。正常にインストールできていない場合は、再度Tkinterをインストールしてください。
次に、PATHが設定されているかも確認してください。PATHとはファイルやディレクトリなどの場所を示す文字列で、ファイル名を指定しただけでプログラムが実行できます。
このPATHが正しく設定されていないと、「Tkinter」のインストールができません。Tkinterがインストールできないときは、インストールしたパソコンの環境変数にPythonのPATHが正しく設定されているかも確認しましょう。
最後にDISPLAYが設定されているかも確認してください。DISPLAYとは、要素の表示形式を変更させられるプロパティのことです。
Linux環境で「Tkinter」をインストールするとき、DISPLAYの設定ができていない場合に、次のエラーが発生します。
エラーが表示されたら、DISPLAYの設定ができていないため設定して再度インストールしてください。
Linux環境で「Tkinter」を使用するとき、DISPLAY環境変数を設定していない場合に、次のエラーが発生します。
_tkinter.TclError: couldn't connect to display "localhost:0.0" _tkinter.TclError: no display name and no $DISPLAY environment variable
エラーが表示されたら、DISPLAYの設定ができていないため設定し、再度Tkinterを使用してみてください。設定するコマンドは、以下です。上記のエラーはGUIを設定していないことが原因のため、GUIをインストールします。
sudo apt-get -y install ubuntu-desktop
「Tkinter」を活用するときに、よく関数を目にすることがあるでしょう。
Tk()関数は、「Tkinter」でGUI開発を行う際に最も重要な要素であり、メインウィンドウを生成するために使用します。
メインウィンドウとは、各種ウィジェット(ボタン、テキストボックス、ラベルなど)を格納するための中心的なウィンドウです。「Tkinter」を使用する場合は、Tk()関数を最初に覚えましょう。
Label()関数とは、ラベル作成に使用する関数です。ラベルとは、対象のファイルやレコードを識別・分類するために付ける文字列のことです。ラベルがなければ、使う人はウィンドウ上のウィジェット(部品)がどのような機能を持っているのかを識別できません。そのため、Label()関数も重要な関数といえます。
Label(text=”ラベル名”)のように入力することで作成することが可能です。
Radiobutton()関数は、ラジオボタンの作成に使用する関数です。ラジオボタンとは、入力フォームなどの選択肢でよく見かける◯で表示されているボタンです。このボタンをクリックすることで、選択肢の中から1つだけを選択できます。
Radiobutton(text=”ラジオボタン名”)と入力することで、ラジオボタンの作成が可能です。
「Python」は、プログラミングのレベルを問わず幅広い方に人気のある言語で、実際にさまざまな開発で活用されています。そのため、「Python」を習得する方や仕事に活用する方は、今後も多くなるでしょう。
「Python」をインストールしたら標準で「Tkinter」も使用できます。これから「Python」を扱いたいと考えている方は、本記事を参考に「Tkinter」を覚えて効果的な活用をしてください。
2024.06.17
子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介
#プログラミングスクール
2022.01.06
【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説
#プログラミングスクール
2024.01.26
【未経験でも転職可】30代におすすめプログラミングスクール8選!
#プログラミングスクール
2024.01.26
初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説
#JAVA
2024.01.26
忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説
#プログラミングスクール
2022.01.06
【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介
#プログラミングスクール
2024.01.26
【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説
#プログラミングスクール
2024.01.26
【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説
#プログラミングスクール