回り道しながら一歩ずつ

回り道しながら一歩ずつ

プログラミングのアウトプットが中心、その他ジャンル問わず気になったことを投稿するブログ

【Python】GUIで動くものを作って勉強するために、Tkinterを勉強 | プログラミング

blog001のトップイメージ 前回は、Pythonの学習に必要な環境の準備で終わってしまいましたが、いよいよPythonプログラミングの学習に入っていきます。アラフォーサラリーマンにとって、テキストを使った勉強は久しぶりなので、今非常にワクワクしてます。
前回のブログはこちら

myroad.hatenablog.com

実際にプログラミングの学習を行っていくにあたって、自分としてはコンソール上での結果表示だけでは、あまりプログラミングをしている感じがしないため、 GUIで動くものを作って勉強したい!…という、初心者にはおこがましい事を思っているのですが、やる前から諦めるのも違うと思うので、少し調べて無理ならまた考えるということで、PythonGUIアプリが作れるか調べてみました。

まずはPython言語について

Python学習用に購入した書籍「確かな力が身につくPython「超」入門」では、いろいろなプログラミング言語があるなかで、Pythonは最初に学習するのもってこいの言語と書いてあります。その理由として、プログラムが読みやすいとのこと。
何故かというと、Pythonは他のプログラミング言語と違って、コーディング規則がしっかり定められているからだそうです。私はHTMLやCSSを多少かじった程度で、プログラミング言語はほとんど触れてこなかったので、比較しようが無いのですが勉強していくうえで、コーディング規則を覚えれば、プログラムが動いてくれるというのは、初心者にとってはありがたい印象を受けますね。

記入例

def xxxxx:
  print('xxxx') ←関数などの場合、先頭にタブまたは4文字分の半角スペースを入れる

PythonGUIアプリ作成

Pythonでは、さまざまなライブラリ(いろいろな機能が詰められた機能拡張と解釈してます。。)をインポートしながら開発をおこなっていくのですが、GUIアプリを作成するために必要なライブラリを調べていくと、主に3つあるみたいです。

Tkinter・・Pythonに標準で搭載されているため、特にインストールの必要がなく、
     一番最初に扱うのにもってこいのライブラリ。

Kivy・・インストールが必要。日本ではそこまで知名度はたかくなく、レイアウト
    調整にKv Languageという独自言語を使う必要がる。
    ちょっとハードル高い

wxPython・・インストールが必要。GUIライブラリのなかでも、メジャーらしい。
      wxWidgetsPython版?

今回は主目的がPythonの基礎学習であるため、GUIの方はとりあえずベースができればいいかなと思うので、インストール不要で情報も豊富にあるTkinterを採用して、学習を始めていきます。 メイン学習に入る前に無謀とも言えますが、やっぱり楽しみながら学習したいので、何事もチャレンジ精神で頑張ります。

まずはPythonTkinterGUIを表示

では、さっそくTkinterGUI画面を表示させてみます。表示方法は、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()

# ちなみに#の行はコメントとして扱われるためプルグラムに影響しない

実行結果がこちら。
TkinterのGUI表示イメージ
余白調整などをしていないので、文字がきつきつの状態ですが、何とかGUIが表示できました。
実はこれを表示するまでに、いろいろと試行錯誤しましたが、いろいろなサイトやブログの力を借りて何とか実現できました。
きりがいいので、本日はここまでです。
次回は本当の本当に、Pythonの学習に入っていきたいと思います。