Python(デスクトップアプリ)

Pythonで「GUIアプリ」を作成する場合、tkinterモジュールを活用すると簡単にウィンドウ作成や画像表示が可能になります。
以前Python(tkinter)の投稿でサンプルコードをアップしましたが、用途別に項目を分けて、まとめて行きます。

1.ダイアログ表示

# ダイアログを使ったGUI
import tkinter.messagebox as mb

# ダイアログ表示(「Yes」「No」でTrue or Falseを返す)
ans = mb.askyesno("質問","ラーメンは好きですか?")
if ans == True:
    # OKボタンだけのダイアログ表示
    mb.showinfo("同意","僕も好きです")
else:
    mb.showinfo("本当?","まさか、ラーメンが嫌いだなんて!")

# 他のダイアログメソッド
"""
# 「OK」「Cancel」でTrue or Falseを返す
mb.askokcancel("タイトル","メッセージ”)

# 「Retry」「Cancel」でTrue or Falseを返す
mb.askretrycancel("タイトル","メッセージ”)

# OKボタンを持つエラーダイアログ
mb.showerror("タイトル","メッセージ”)

# OKボタンを持つ警告ダイアログ
mb.showwarning("タイトル","メッセージ”)
"""

2.ファイル選択ダイアログ

# ファイル選択ダイアログ
import tkinter.filedialog as fd

# ファイル選択ダイアログを表示 戻り値はファイルのフルパス
path = fd.askopenfilename(
    title = "処理対象ファイルを指定してください", # ダイアログ上部のタイトル設定
    filetypes = [("Python",".py"),("PNG",".png")]) # タプルで指定した形式のファイルだけを表示

print(path)

3.ボタンGUI

# GUIプログラミング
from tkinter import *
import tkinter.messagebox as mb

# ボタンが押された時の動作を関数として定義
def say_hello():
    mb.showinfo("挨拶","おはようございます")

# メインウィンドウを作成
root = Tk()
root.title("挨拶")

# ラベルの作成
desc_label = Label(text="以下のボタンを押してください")
desc_label.pack()

# 挨拶ボタンを作成
hello_button = Button(
    text="挨拶", # ボタンのテキスト
    width=10,height=3, # ボタンのサイズ指定
    command=say_hello) # ボタンをクリックしたときの動作
hello_button.pack()

# メインループを開始
root.mainloop()

4.文字数カウンタ

# 文字数カウンタ
from tkinter import *

# テキストの文字数を数える関数
def count_text(event):
    s=main_text.get(1.0,END) # テキストの最初から最後まで取得
    info_label.config(text="{0}文字".format(len(s)))

# メインウィンドウを作成
root = Tk()
root.title("テキストカウンタ")

# テキストボックスを作成
main_text = Text(root)
main_text.bind("<Key>",count_text) # イベントを設定
main_text.pack()

# 文字数を表示するラベルを作成
info_label=Label(root)
info_label.pack()

# メインループ
root.mainloop()

tkinterについて公式リファレンス
https://docs.python.org/ja/3/library/tkinter.html

今回は「実践力を身につけるPythonの教科書」を参照しました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Python

前の記事

Python(内包表記)