Python を使用して tkinter のボタンとフレームのフォントとサイズを変更するにはどうすればよいでしょうか? 質問する

Python を使用して tkinter のボタンとフレームのフォントとサイズを変更するにはどうすればよいでしょうか? 質問する

これは、Tkinter で単純なテキスト ボックスとボタンを生成するために使用したコードです。

フレームとボタンの見栄えを良くするためのパラメータは何でしょうか?

 root = Tk.Tk()

 def submit():
    query = entry.get()
    retrieve(query)
    entry = Tk.Entry(root)
    entry.pack()
    button = Tk.Button(root, text='submit', command=submit)
    button.pack()
    root.mainloop()             

ベストアンサー1

アップデート: New Mexico Tech tkinter ウェブサイトが GitHub にアーカイブされました。

まずTkinterの最良の参考文献はこのニューメキシコ工科大学のウェブサイト目次には、フォントに関するセクション、そしてボタンウィジェットのセクションオプションが見つかりますfont

フォントを作成するにはTkinterオブジェクトが必要です

Python-2

Python-2のサポートは2020年1月1日をもって正式に終了しました。

from Tkinter import *  # Note: UPPER case "T" in Tkinter
import tkFont
root = Tk()

Python-3

Python-3 TkラッパーはPython-2とは異なる

from tkinter import *  # Note: lower case "t" in tkinter
from tkinter import font as tkFont  # for convenience
root = Tk()

ニューメキシコ工科大学のウェブサイトの例のようなフォントを作成する

helv36 = tkFont.Font(family='Helvetica', size=36, weight='bold')
# you don't have to use Helvetica or bold, this is just an example

注記: Python-3用のrecallは便宜上fontインポートされました)tkFont

元の投稿buttonから作成されたフォントを設定できるようになりましたButton

button['font'] = helv36

ボタンのサイズは、ジオメトリマネージャ(例:gridまたは)によって異なりますpackgridメソッドのみが説明されています。レイアウトセクションニューメキシコ工科大学のサイトでは、effbot.orgも素晴らしい参考書であり、packかなりよく。

try:  # Python-2
    from Tkinter import *
    import tkFont
except ImportError:  # Python-3
    from tkinter import *
    from tkinter import font as tkFont
# using grid
# +------+-------------+
# | btn1 |    btn2     |
# +------+------+------+
# | btn3 | btn3 | btn4 |
# +-------------+------+
root = Tk()
# tkFont.BOLD == 'bold'
helv36 = tkFont.Font(family='Helvetica', size=36, weight=tkFont.BOLD)
btn1 = Button(text='btn1', font=helv36)
btn2 = Button(text='btn2', font=helv36)
btn3 = Button(text='btn3', font=helv36)
btn4 = Button(text='btn4', font=helv36)
btn5 = Button(text='btn5', font=helv36)
root.rowconfigure((0,1), weight=1)  # make buttons stretch when
root.columnconfigure((0,2), weight=1)  # when window is resized
btn1.grid(row=0, column=0, columnspan=1, sticky='EWNS')
btn2.grid(row=0, column=1, columnspan=2, sticky='EWNS')
btn3.grid(row=1, column=0, columnspan=1, sticky='EWNS')
btn4.grid(row=1, column=1, columnspan=1, sticky='EWNS')
btn5.grid(row=1, column=2, columnspan=1, sticky='EWNS')

Tkinter ボタンフォント

も試してみてくださいttk

おすすめ記事