これは、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
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
または)によって異なりますpack
。grid
メソッドのみが説明されています。レイアウトセクションニューメキシコ工科大学のサイトでは、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')
も試してみてくださいttk
。