はじめに
アプリを作成する際にグラフィカルユーザーインターフェース(GUI)として、ウィンドウを表示させて、そこでボタン操作などを行って機能を活用できるようにするのが一般的です。Pythonには、GUIを作成するためのツールキットのtkinterがあります。tkinterは標準のライブラリとなっており、インストールは不要になっています。tkinterでウィンドウ表示できる項目にラベル、テキストボックス、ボタンなどがあります。
本記事では、tkinterを用いたGUI製作として、ウィンドウ表示、ラベル、テキストボックス、ボタン、ラジオボタン、チェックボックス、ラベルフレーム、フレームの作成方法を紹介します。
- はじめに
- 1. ウィンドウの表示(tkinter.Tk())
- 2. ラベルの表示(tkinter.Label())
- 3. テキストボックスの表示(tkinter.Entry())
- 4. ボタンの表示(tkinter.button())
- 5. ラジオボタン(tkinter.Radiobutton())
- 6. チェックボックス(tkinter.Checkbutton())
- 7. スケールバー(tkinter.Scale())
- 8. ラベルフレーム(tkinter.LabelFrame())
- 9. フレーム(tkinter.Frame())
- 10. スピンボックス(tkinter.Spinbox())
- オススメ書籍
- スキル修得&転職
- おわりに
1. ウィンドウの表示(tkinter.Tk())
ウィンドウ作成には、tkinter.Tk()を用います。作成したウィンドウをrootとし、root.title()でウィンドウ上部のタイトルを設定し、root.geometry()でウィンドウサイズを指定します。以下のコード例を実行してみてください。
以下の画面が表示させると思います。
また画面を最大化して表示させたい場合にはroot.geometry()の代わりに、root.state('zoomed')を記述することで画面を最大化した状態で表示させることができます。
2. ラベルの表示(tkinter.Label())
ウィンドウ内に文字を描画させたい場合には、tkinter.Label()を用います。引数には、表示するウィンドウroot、ラベルの文字text、ラベルの背景bg、ラベル文字の色fg、ラベルの幅width、ラベルの表示位置anchorなどがあります。
ラベルの文字や背景の色は色名や16進数のコードを指定することで色を変更できます。ラベルの表示位置については以下の表をご覧ください。
anchor指定内容 | 意味 | anchor指定内容 | 意味 |
---|---|---|---|
tkinter.N | 上方向 | tknter.NE | 右上方向 |
tknter.S | 下方向 | tknter.SW | 左下方向 |
tknter.W | 左方向 | tknter.SE | 右下方向 |
tknter.E | 右方向 | tknter.NW | 左上方向 |
tknter.CENTER | 中央 |
具体的な例は以下に示します。
上記で表示させると以下のようになります。
3. テキストボックスの表示(tkinter.Entry())
文字を入力する際に使用する場合には、tkinter.Entry()を用います。tkinter.Entry()を用いてテキストボックス(入力欄)を表示する方法について説明します。
以下の例を見ながら、起動してテキストボックスに文字を入力してみてください。
表示結果は以下の様になります。
4. ボタンの表示(tkinter.button())
コマンドを実行する際に使用するボタンは、tkinter.button()を用います。以下の例のようにしてウィンドウを表示してみてください。ボタンに表示させる文字のフォントやサイズ、ボタンの色、ボタンの大きさ、ボタンの枠線の種類などを引数として指定できます。
上記を表示結果が以下のようになります。
枠線の種類はいくつか存在し、以下の様のようなものがあります。
5. ラジオボタン(tkinter.Radiobutton())
ラジオボタンを使うのにはtkinter.Radiobutton()を用います。まずはラジオボタンの選択項目を確認するために、tkinter.IntVar()としてvarを用意して、初期の選択項目としてvalue=1の項目を選択します。
以下のコード例を実行すると、ラジオボタンの選択するごとに、varの値をテキストボックスに表示させています。
画面表示は以下の様になります。
6. チェックボックス(tkinter.Checkbutton())
チェックボックスを使うのにはtkinter.Checkbutton()を用います。まずはチェックボタンの選択有無を確認するために、tkinter.BooleanVar()を用意して、初期の選択有無を指定します。
以下のコード例を実行すると、チェックボックスにチェックが入った状態で表示され、チェックが入っている場合にはテキストボックスに1が入っていない場合には0が表示されます。
画面表示は以下の様になります。
7. スケールバー(tkinter.Scale())
スケールバーを使うには、tkinter.Scale()を用います。まずはスケールバーを作成するためにtkinter.DoubleVar()としてvarを用意して、初期値としてvar=50を設定します。
以下のコード例を実行すると、スケールバーが表示されて初期値が50となっています。スケールバーを動かすと下部のテキストボックスの値が0~100まで変化します。
画面表示は以下の様になります。
8. ラベルフレーム(tkinter.LabelFrame())
ラベルフレームを使うにはtkinter.LabelFrame()を用います。以下のコード例を実施すると、ラベルフレームが表示されます。ラベルフレーム内の背景色の変更、枠線の太さの変更、枠線の種類の変更などを表示させています。
表示結果は以下の様になります。
9. フレーム(tkinter.Frame())
フレームを使うにはtkinter.Frame()を用います。以下のコード例を実施すると、フレームが表示されます。フレーム内の背景色の変更、枠線の太さの変更、枠線の種類の変更などを表示させています。
表示結果は以下の様になります。
10. スピンボックス(tkinter.Spinbox())
スピンボックスを使うにはtkinter.Spinbox()を用います。右端の▲上下のボタンを押すことでボックスに表示された数字が変化します。選択できる値の範囲は、最小値をfrom_とし、最大値をtoとして設定できます。
表示結果は以下の様になります。
<p
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
おわりに
本記事ではtkinterを用いたGUI製作として、ウィンドウ表示、ラベル、テキストボックス、ボタン、ラジオボタン、チェックボックス、ラベルフレーム、フレームの作成方法を紹介しました。tkinterを用いてUIを作成するには基本的な内容になるので、使いこなせるようになりましょう。