Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第3回】Tkinterを用いたGUI作成:ボタン操作による関数実行

はじめに

 アプリを作成する際にグラフィカルユーザーインターフェースGUI)として、ウィンドウを表示させて、そこでボタン操作などを行って機能を活用できるようにするのが一般的です。Pythonには、GUIを作成するためのツールキットのtkinterがあります。tkinterは標準のライブラリとなっており、インストールは不要になっています。tkinterでウィンドウ表示できる項目にラベル、テキストボックス、ボタンなどがあります。

 本記事では、tkinterを用いたGUI製作として、ボタン操作による関数実行の方法を紹介します。

SAMURAI TERAKOYA

 

1. ウィンドウの作成、ボタンやラベルの作成

ウィンドウ、ボタン、ラベルの作成は以下の記事をご覧ください。

chantastu.hatenablog.com

ボタンやラベルの配置については以下の記事をご覧ください。

chantastu.hatenablog.com

 

2. ボタン操作による関数実行

2.1 簡単な例:ボタンクリックでテキストボックスに文字表示

ボタン操作で関数を実行するには、tkinter.Button()の引数にcommandを設定し、commandにボタンが押された際に実行したい関数を指定してください。

以下の例では、ボタンをクリックすると、string_view()関数が実行されてテキストボックス(textbox)に「ボタンが押されました」という文字が表示されます。

ここで、テキストボックスに文字を挿入するにはtextbox.insert(tkinter.END, ***)(***は挿入したい内容)を用います。tkinter.ENDはそのテキストボックス内の最後を意味しています。一方、テキストボックス内の文字をすべて削除するには、textbox.delete(0, tkinter.END)を用います。これで、テキストボックス内の0番目から最後まで削除することを意味しています。

それでは以下の例をご覧ください。

表示結果は以下の様になります。

ボタンをクリックすると、以下の画面になります。

 

2.2 ボタン操作による足し算の計算と結果を出力

 次は、ボタンをクリックしてcalculate関数を実行して、2つのテキストボックスの値を取得して足し算の計算を行い、その計算結果をテキストボックスに出力する例を示します。

ここで、テキストボックスに記載された内容を取得するには、textbox.get()のようにします。文字(String)として取得するので、数字の際にはint型かfloat型に変換します。

表示画面は以下の様になります。

上部のテキストボックスに値を入れて「足し算」ボタンをクリックすると、下部のテキストボックスに計算結果が出力されます。

 

オススメ書籍

Pythonによるあたらしいデータ分析の教科書

Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。

データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析

こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。

東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~

こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。

 

スキル修得&転職

 近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。

以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

 

おわりに

tkinterを用いたGUI製作として、ボタン操作による関数実行の方法を紹介しました。ボタンをクリックして関数を実行させて結果を得るという基本的な操作を確認しました。本記事の内容を発展させることで基本的なアプリが作成できるようになりますので、ぜひチャレンジしてみてください。