Python初心者がtkinterを使ってみる

Python初心者がtkinterを使ってみます。(Windows10上)

参考したURL:

PythonのTkinterを使ってみる - Qiita
PythonのTkinterを使うことが多くなってきましたが,(私好みの)ほしい情報がまとまっているサイトがあまりなかったので,まとめていこうと思います. なお、Tkinterの勉強会をしたときにPython3系で作った資料が出てき...
Python Tk 1

■tkinter(ティーキンター, ティーケーインター)とは?

GUI、Graphical User Interface(グラフィカル・ユーザ・インターフェース)を組み込むことのできるツールキットのことで、ユーザ・インターフェースは、コンピュータと利用者(人間)の間での情報をやりとりするためのもの。

■tkinterのインストールは?

tkinterは、Pythonに含まれているので、インストールは必要ない。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。

■ウインドウを表示させてみる

まずはテストで、文字も何も表示されないウインドウを表示させてみます。

■コード

import sys
import tkinter


root = tkinter.Tk()
root.mainloop()

上記のコードを、「tkinter-test.py」というファイルで保存します。

■実行

「tkinter-test.py」というファイルをコマンドプロンプトから実行してみます。

実行してみると、文字も何も表示されないウインドウが開きました。

補足として、

import sys
import Tkinter


root = Tkinter.Tk()
root.mainloop()

「Tkinter」の「T」を大文字にしたコードをコマンドプロンプトで実行してみたが、

Traceback (most recent call last):
File “C:\Users\user\tkinter-test.py”, line 2, in <module>
import Tkinter
ModuleNotFoundError: No module named ‘Tkinter’

ModuleNotFoundErrorというエラーが表示されます。コードを記述する場合は、「tkinter」と全て小文字で記述する必要があります。

■1行文字列の入力させるウインドウを作ってみる

文字も何も表示されないウインドウが表示できましたので、次は1行文字列の入力させるウインドウを作ってみます。

■コード

import sys
import tkinter


root = tkinter.Tk()


#ウインドウのタイトルバー
root.title(u"テストのタイトルバー")


#ウインドウサイズ
root.geometry("400x300")


#エントリー(1行文字列の入力)
EditBox = tkinter.Entry()
EditBox.pack()


root.mainloop()

1行文字列の入力させる場合は、tkinterのウィジェットの「Entry」を使用します。また今回は、root.titleでウインドウのタイトルバーの指定と、root.geometryでウインドウサイズを指定(400×300は、400px * 300pxのサイズのウインドが表示)も行ってみます。

上記のコードを、「tkinter-test.py」というファイルで保存します。

■実行

「tkinter-test.py」というファイルをコマンドプロンプトから実行してみます。

実行してみると、ウインドウが表示され、指定したウインドウのタイトルバー、指定したウインドウサイズ、1行文字列の入力ウィジェットが表示されました。

■ウインドウにボタンを表示させてみる

次に、ウインドウにボタンを表示させてみます。

■コード

import tkinter


root = tkinter.Tk()


#ウインドウサイズ
root.geometry("400x300")


#ボタン
button = tkinter.Button(root, text="ボタン")
button.pack()


root.mainloop()

先程と同じで、400px * 300pxのサイズのウインド内に「ボタン」という表記のあるボタンを設置してみます。

上記のコードを、「tkinter-test.py」というファイルで保存します。

■実行

「tkinter-test.py」というファイルをコマンドプロンプトから実行してみます。

実行してみると、400px * 300pxのサイズのウインド内に「ボタン」が表示されていることが確認できました。

■ラベル付きのハイパーリンクを作成してみる

次に、ラベル付きのハイパーリンクを作成してみます。

■コード

参考にしたURL:https://ja.coder.work/so/python/306549

from tkinter import *
import webbrowser


def callback(url):
    webbrowser.open_new(url)


root = Tk()
link1 = Label(root, text="Google", cursor="hand2")
link1.pack()
link1.bind("<Button-1>", lambda e: callback("http://www.google.com"))


root.mainloop()

ハイパーリンクをクリックして、Webブラウザを開きますので、webbrowserモジュール(import webbrowser)を使います。Labelをクリックすると、callbackが実行され、デフォルトのブラウザで新しいページが開くような仕組みです。今回はGoogle(http://www.google.com)のページが開くように設定しています。

なお、Googleの文字が表示されているラベルをクリックしようとすると、「cursor=”hand2″」を指定していますので、カーソルの種類が変更されます。tkinterでは様々なカーソルが用意されています。参考:https://www.tcl.tk/man/tcl/TkCmd/cursors.htm

上記のコードを、「tkinter-link.py」というファイルで保存します。

■実行

「tkinter-link.py」というファイルをコマンドプロンプトから実行してみます。

実行してみると、ウインドウが表示され、その中にGoogleの文字がありますので、こちらをクリックします。

クリックすると、Webブラウザが起動し、Googleへアクセスされました。

コメント

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