【第22回PYTHON講座】文字(フォント)拡大をするプログラムを作ったよ

PYTHON

今回は文字を拡大するプログラムを作ってみました。

簡単なので、是非、最後までご覧になって下さい。

では、始めてみましょう。

ライブラリ『tkinter』を使用

今回作成するプログラムは、拡大したい文字を入力するボックスを作って、『拡大』ボタンを押して、拡大した文字を表示させます

そういうことで、今回はPYTHONでGUIのライブラリを持っている『tkinter』を使用します。

文字を拡大させるプログラム

import tkinter as tk
from tkinter import font

root = tk.Tk()
root.title('漢字拡大')

canvas = tk.Canvas(root, height=500, width=450, bg="white")
canvas.pack()

tk.Label(canvas, text="文字を入力して下さい", bg="white").place(x=10, y=10)

inputkanji = tk.Entry(width=50)
inputkanji.place(x=10, y=35)

outputkanji =tk.StringVar()
kfont = font.Font(family=u'MS 明朝', size=250, weight='bold')

def command1():
    outputkanji = inputkanji.get()
    tk.Label(canvas, text=outputkanji, font=kfont, bg="white").place(x=10, y=120)


cmdbtn = tk.Button(canvas,
                   text="拡大",padx=10, pady=5, 
                   command=command1).place(x=10, y=70)

clsbtn = tk.Button(canvas, 
                   text="終了", padx=10, pady=5, 
                   fg="red", 
                   command=quit).place(x=70, y=70)

root.mainloop()

上記のプログラムで下記のプラグラムが作成されます。入力ボックスに『霞』と入力し、拡大ボタンを押すと、下に『霞』が大きく表示されます。では、解説していきます。

文字拡大プログラム

1, 2行:ライブラリの導入の記述になります。プログラム内でフォントを変更するので扱うことになるので、fontの関数を呼び出します。

4, 5行:プログラムのタイトルを設定します。

7, 8行:GUIの設定です。サイズ(高さ=500、幅=450)、背景(白)を設定しています。

10行目:ラベルを作成し、プログラムの手順を示します。

12, 13行:文字の入力ボックスを作成します。

15, 16行目GUIに出力する文字、及びそのフォントを設定します。

出力する文字は、入力する文字によって変わる為、『StringVar()』を使うようにして下さい。そうしなければ、入力文字を変えても、以前に表示された文字が出続けることになります

familyはフォントの種類を入力します。フォントはMS明朝にしています。漢字を表記するには最適なゴシックだと思います。『u’MS 明朝’』と、『u』を付けている理由は、PYTHONにunicode(日本語)だと認識させる為です。例えば、『arial』というフォントであれば、アルファベットなので、『u』は必要ありません。

sizeはフォントの大きさです。自分が見やすい大きさに設定して下さい。

weightはフォントを太字にすることを指定しています。

18~20行目:文字拡大のプログラム『command1』の定義になります。

23~25行目:『拡大』のボタンを作成します。このボタンを押すと、『command1』が呼び出されます。

27~30行目:『終了』ボタンを作成します。プログラムを終了させます。tkineterでは『終了』する時は、どのプログラムでも『quit』を使うので、是非、憶えておいてください

32行目:『root.mainloop()』はGUIを実行するプログラムになります。これがないとGUIは立ち上がりません。

以上で終了です!

まとめ

いかがだったでしょうか。

今回は比較的簡単だったと思います。

文字を拡大するプログラムを作った理由は、アニメ『鬼滅の刃』に出てくる漢字の書き方を調べたかったからです。『鬼滅の刃』では、漢字が沢山出てくるのですが、それらの文字をペンで書く時に、画数が多く、書けない時が多いです。そこで、拡大してみようと思った訳です。

自己満のプログラムですが、丁度、tkinterの復習になったのではないでしょうか。

PYTHON
スポンサーリンク
シェアする
フォローする
OPTY LIFE(オプティライフ)

コメント

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