スポンサーリンク

【Python】Tkinterの使い方ご紹介。〜 デスクトップアプリ作成 〜

Python
スポンサーリンク

今回の記事はPythonのTkinterの使い方をUI付きのデスクトップアプリ作成を通して紹介します。Pythonは使用したことがありますが、Tkinterを使用したことがない方や全くの未経験の方でもわかるように記事を記載していくので是非参考にしてみてください。

スポンサーリンク

Tkinterの環境構築

Tkinterの環境構築といっても非常に簡単です。公式サイトからTkinterをダウンロードするのみとなっております。

私の場合はMacですので、下記brewコマンドで実施します。

brew install python-tk

もしも下記で作成していくPythonソースを実行した際に「not found 〜」などのエラーが発生した場合、上記のTkinterのインストールが失敗していきます。その場合はバージョンを指定して、インストールしてみましょう。

brew install python-tk@3.10

次にTkinterを使ってみましょう。

Tkinterでアプリをビルド

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter

root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

root.mainloop()

上記をコマンドプロンプトやターミナルで実行します。

python3 main.py

すると下記のようなデスクトップアプリが表示されます。

Tkinterの使い方

続いて、下記のように画面パーツの表示や操作をTkinterを使って行う方法をご紹介していきます。

  • Tkinterでラベルを表示する方法
  • Tkinterでテキストラベルを表示する方法
  • Tkinterでテキストラベルから入力文字を取得する方法
  • Tkinterでボタンを表示する方法
  • Tkinterでボタンにアクションをつける方法
  • Tkinterでチェックボックスを表示する方法
  • Tkinterでチェックボックスのチェックを判定する方法

Tkinterでラベルを表示する方法

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter

root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

#ラベル
Static1 = tkinter.Label(text=u'test')
Static1.pack()

root.mainloop()

Tkinterでテキストラベルを表示する方法

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter


root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

#テキストラベル
EditBox = tkinter.Entry()
EditBox.insert(tkinter.END,"挿入する文字列") #文字を最初から挿入する場合
EditBox.pack()

root.mainloop()

Tkinterでテキストラベルから入力文字を取得する方法

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter


root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

#テキストラベル
EditBox = tkinter.Entry()
EditBox.insert(tkinter.END,"挿入する文字列") #文字を最初から挿入する場合
EditBox.pack()

#テキストラベルから文字を取得する
value = EditBox.get()

root.mainloop()

Tkinterでボタン表示とボタンにアクションをつける方法

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter

root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

# ボタン押下時の関数(テキストラベルの文字を削除)
def showInput(event):
    print("クリック")

#ボタン
Button = tkinter.Button(text=u'アクション', width=50)
Button.bind("<Button-1>",showInput) 
Button.pack()

root.mainloop()

Tkinterでチェックボックスを表示とチェック判定を行う方法

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter

root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

#チェックボックス
CheckBox1 = tkinter.Checkbutton(text=u"項目1", variable=tkinter.BooleanVar().set(False))
CheckBox1.pack()

if tkinter.BooleanVar().get() == True:
    print("チェックしてる")
    print("テキストには" + value + "を入力しています。")
else:
    print("チェックしてない") 

root.mainloop()

Tkinterで入力情報を出力するサンプルアプリ

最後に上記をまとめた簡単なデスクトップ用のアプリを紹介します。

#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter

root = tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")

#ラベル
Static1 = tkinter.Label(text=u'test')
Static1.pack()

#テキストラベル
EditBox = tkinter.Entry()
EditBox.insert(tkinter.END,"挿入する文字列") #文字を最初から挿入する場合
EditBox.pack()

#チェックボックス
CheckBox1 = tkinter.Checkbutton(text=u"項目1", variable=tkinter.BooleanVar().set(False))
CheckBox1.pack()
CheckBox2 = tkinter.Checkbutton()
CheckBox2.pack()

# ボタン押下時の関数(テキストラベルの文字を削除)
def showInput(event):
    if tkinter.BooleanVar().get() == True:
        print("チェックしてる")
        print("テキストには" + value + "を入力しています。")
    else:
        print("チェックしてない")
    #テキストラベルから文字を取得する
    value = EditBox.get()  
    print("テキストには" + value + "を入力しています。")
    #テキストラベルの中身を削除
    EditBox.delete(0, tkinter.END)

#ボタン
Button = tkinter.Button(text=u'アクション', width=50)
Button.bind("<Button-1>",showInput) 
Button.pack()

root.mainloop()

テキストラベルやチェックボックスの情報を取得し、出力するデスクトップアプリとなっております。試しにビルドしてみてください。

python3 [ファイル名].py

今回の記事は以上です。他にも多数のPython関連の記事を記載しているので是非参考にサイト内みて行ってください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Python
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました