機械系エンジニアの備忘録

20代独身社会人。仕事では機械・機構の研究開発を行っているエンジニアが、自分の専門分野ではないpythonを扱って楽しむブログです。

MENU

【Python】【tkinter】【初心者】部品(入力項)を追加する

tkinterで入力項を使う

1.前回のおさらい

前回はtkinterの基本として、デスクトップ画面にウインドを表示しました。

今回は前回作ったウインド内に部品を配置してみます。

↓前回の記事

www.stjun.com

 

2.コード

import tkinter as tk #tkinterの読み込み
win=tk.Tk()#ウインド(win)を作成
win.title("Hello world")
win.geometry("500x300") #ウインドの大きさを200×300に設定
#入力項(変数名:Entry_box)の作成
Entry_box=tk.Entry(width=40)
Entry_box.insert(tk.END,"何か入力してください")
Entry_box.place(x=50,y=10)
win.mainloop()#ウインドを動かす

 

実行するとウインド内に「何か入力してください」という入力項ができました。また入力項をマウスでクリックするとに好きな文字を代入することができます。

f:id:stjun:20190512164736j:plain

 

3.説明

Entry_box=tk.Entry(width=40)

横の長さ40の入力項を作成します。また入力項の文字の色や背景色を指定することもできます.

例えば文字の色を白(#FFFFFF)、背景の色を黒(#000000)にしたい場合、

Entry_box=tk.Entry(width=40,foreground='#FFFFFF', background='#000000')

と書くと以下のようになります。

f:id:stjun:20190512170118j:plain

 

Entry_box.place(x=50,y=10)

入力項は左上から右に50ピクセル、下に10ピクセル動かした位置に作ります.

今回は位置を指定しましたが、pack()という方法を使うと、中央に配置したいときや、複数の入力項を配置するときに綺麗に配置できるため便利です。

例えば、Entry_box.place(x=50,y=10)の代わりに、

Entry_box.pack()

に書き直すと以下のように自動で中央に配置されます。

f:id:stjun:20190512171217j:plain

ウインドをマウスで小さくしても自動で計算して中央をキープしてくれます。

f:id:stjun:20190512171425j:plain

pack()についてはまた別の機会に書きたいと思います。 

 

おすすめ書籍 

tkinterは参考書が非常に少ないです、というより日本語の参考書はほぼ皆無です。個人的には以下がお勧めです。

私が勉強していた時は以下のような参考書がなくネットで調べながら苦労してtkinterを覚えましたが、もし当時こんな書籍があったらもっと楽に学べたのに...と思うくらい基本的内容について丁寧に書かれています。

Amazonの月額読み放題サービス「Kindle unlimited」でも読めます。

初回30日間は無料、退会も簡単なので試しに無料体験して読んでみてもよさそうです。

 

4.説明

今回は入力項の作り方を紹介しました。次回はボタンを追加し、ボタンを押したら「Hello world」と表示される機能を作りたいと思います。

↓次回の記事

www.stjun.com