【Python】GUIで動くものを作って勉強するために、Tkinterを勉強 | プログラミング
前回は、Pythonの学習に必要な環境の準備で終わってしまいましたが、いよいよPythonプログラミングの学習に入っていきます。アラフォーサラリーマンにとって、テキストを使った勉強は久しぶりなので、今非常にワクワクしてます。
前回のブログはこちら
実際にプログラミングの学習を行っていくにあたって、自分としてはコンソール上での結果表示だけでは、あまりプログラミングをしている感じがしないため、 GUIで動くものを作って勉強したい!…という、初心者にはおこがましい事を思っているのですが、やる前から諦めるのも違うと思うので、少し調べて無理ならまた考えるということで、PythonでGUIアプリが作れるか調べてみました。
まずはPython言語について
Python学習用に購入した書籍「確かな力が身につくPython「超」入門」では、いろいろなプログラミング言語があるなかで、Pythonは最初に学習するのもってこいの言語と書いてあります。その理由として、プログラムが読みやすいとのこと。
何故かというと、Pythonは他のプログラミング言語と違って、コーディング規則がしっかり定められているからだそうです。私はHTMLやCSSを多少かじった程度で、プログラミング言語はほとんど触れてこなかったので、比較しようが無いのですが勉強していくうえで、コーディング規則を覚えれば、プログラムが動いてくれるというのは、初心者にとってはありがたい印象を受けますね。
記入例
print('xxxx') ←関数などの場合、先頭にタブまたは4文字分の半角スペースを入れる
PythonでGUIアプリ作成
Pythonでは、さまざまなライブラリ(いろいろな機能が詰められた機能拡張と解釈してます。。)をインポートしながら開発をおこなっていくのですが、GUIアプリを作成するために必要なライブラリを調べていくと、主に3つあるみたいです。
Tkinter・・Pythonに標準で搭載されているため、特にインストールの必要がなく、
一番最初に扱うのにもってこいのライブラリ。
Kivy・・インストールが必要。日本ではそこまで知名度はたかくなく、レイアウト
調整にKv Languageという独自言語を使う必要がる。
ちょっとハードル高い
wxPython・・インストールが必要。GUIライブラリのなかでも、メジャーらしい。
wxWidgetsのPython版?
今回は主目的がPythonの基礎学習であるため、GUIの方はとりあえずベースができればいいかなと思うので、インストール不要で情報も豊富にあるTkinterを採用して、学習を始めていきます。 メイン学習に入る前に無謀とも言えますが、やっぱり楽しみながら学習したいので、何事もチャレンジ精神で頑張ります。
まずはPythonでTkinterのGUIを表示
では、さっそくTkinterのGUI画面を表示させてみます。表示方法は、Visual Studio Code(以下VSCode)でPythonファイルを作成し、以下のコードを打ち込んでVSCodeで実行します。
# ↓下の一文はおまじない・・らしい、効果は分かりません。。 #! /usr/bin/env python # ↓今回のアプリに必要なライブラリのインポート # as tkはtkinterを略称tkと設定して使用するための記述 import tkinter as tk # ↓ラベル作成 カッコ内は(親?の指定,text='表示させたい文字', fontの指定) la = tk.Label(None, text='Hello World', font=('Times', '20')) # ↓ラベル内に設置する記述 la.pack() # ↓GUIを表示させるために必要 la.mainloop() # ちなみに#の行はコメントとして扱われるためプルグラムに影響しない
実行結果がこちら。
余白調整などをしていないので、文字がきつきつの状態ですが、何とかGUIが表示できました。
実はこれを表示するまでに、いろいろと試行錯誤しましたが、いろいろなサイトやブログの力を借りて何とか実現できました。
きりがいいので、本日はここまでです。
次回は本当の本当に、Pythonの学習に入っていきたいと思います。