「Pythonでデスクトップアプリを作ろう 前編」 その3
"""今度は、『日経ソフトウエア』2022年09月号(p.024~p.040)の特集記事「特集2 Pythonでデスクトップアプリを作ろう 前編」に挑戦しようと思います。なお、基礎については、当ブログの「Pythonことはじめ」などを参照してください。"""# 「Pythonでデスクトップアプリを作ろう 前編」 その3## 『日経ソフトウエア』2022年09月号(p.024~p.040)## 目次## Part1 TkInterの基本をマスターしよう(p.024~p.028)# ウィジェットとウィジェットの親子関係(p.024~p.026)# イベント駆動型のプログラミング(p.026~p.027)# ウィジェットの配置(p.027~p.028)# Part2 「BMI計算機」を作ろう(p.029~p.033)# Buttonウィジェットの使い方(p.029)# grid関数でウィジェットを格子状に配置する(p.030~p.032)# BMI計算機のデスクトップアプリを作る(p.032~p.033)# Part3 「割り勘計算機」アプリを作ろう(p.034~p.037)# 2つの画面を切り替える(p.034~p.035)# Comboboxウィジェットを使う(p.035~p.036)# 割り勘計算機のデスクトップアプリを作る(p.036~p.037)# Part4 「4択クイズ」アプリを作ろう(p.037~p.040)# Radiobuttonウィジェットを使う(p.038~p.039)# CSVファイルを読み込む(p.039)# 4択クイズのデスクトップアプリを作る(p.039~p.040)# Part1 TkInterの基本をマスターしよう(p.024~p.028)# ウィジェットとウィジェットの親子関係(p.024~p.026)# イベント駆動型のプログラミング(p.026~p.027)#========== リスト2●「event_handler.py」# イベントとハンドラ関数の仕組みを確認するためのプログラム。# GUIライブラリーの「Tkinter」モジュールを、「tk」という名前でインポートする。import tkinter as tk# 「Tkinter」モジュールから「messagebox」モジュールをインポートする。from tkinter import messagebox# 「Tk」関数を使って、ウインドウ(トップレベルtkウイジェット)を生成し、 「root」という名前を付ける# 「Tk」関数は、「Tk」クラスから、ウインドウ(トップレベルtkウイジェット)を生成するための関数。root = tk.Tk()# ウインドウの中身の大きさを指定# ウインドウの中身(タイトルバーなどを除いた内部)の大きさを「geometry」関数で指定する。# ('300x150')は、横サイズ=300ピクセル、縦サイズ=150ピクセルを表しているroot.geometry('300x150')# 「Entry」ウイジェットの生成と配置# テキストボックスの「Entry」ウイジェットを「Entry」関数を使って生成し、「pack」関数を使って配置する。txt = tk.Entry(width=20)txt.pack(pady=50)# ハンドラ関数# ボタンがクリックされた時に実行されるハンドラ関数「click」を定義する。def click(event): messagebox.showinfo('メッセージ', txt.get()) # labelウイジェットの生成label = tk.Label(root, text='ここをクリック', foreground='red')# labelウイジェットの配置label.pack()# ハンドラ関数を設定# ボタンの表示(<Button-1)とハンドラ関数(click)を紐づける。label.bind("<Button-1>", click)# ウインドウの子ウイジェットを表示print(root.children)# ウインドウを表示して、「メインループ」に入る。# 「mainloop(メインループ)」は、「イベントループ」で、ウインドウで発生する# 「イベント」を待っている状態のループ。root.mainloop()#========== リスト2●「event_handler.py」は、ここまで〇リスト2●「event_handler.py」の実行結果