我浏览了Button窗口小部件的选项,但是找不到任何看起来像“适合内容”的东西。
我是否必须显式设置大小以使其按钮大小适合其text
?
示例:
import tkinter as TK
from tkinter import ttk
root = TK.Tk()
root.title('Buttons bigger than text')
root.geometry('{}x{}+0+0'.format(800, 800))
root.resizable(width=False, height=False)
mainFrame = TK.Frame(root, bg='green')
mainFrame.pack(side="top", fill="both", expand=True)
for r in range(0, 5):
row = TK.Frame(mainFrame, bg='blue')
mainFrame.grid_rowconfigure(r, weight=1)
mainFrame.grid_columnconfigure(0, weight=1)
row.pack(side="top", fill="both", expand=True)
bt1 = ttk.Button(row, text='mybutton')
bt2 = ttk.Button(row, text='?')
row.grid_rowconfigure(0, weight=1)
row.grid_columnconfigure(0, weight=1)
row.grid_columnconfigure(1, weight=1)
bt1.grid(row=0, column=0, sticky='nsw')
bt2.grid(row=0, column=1, sticky='nsw')
root.mainloop()
这是ttk.Button的特定问题吗?我用Tk.Button进行了测试,它按预期工作。
环境
macOS High Sierra上的Python 3.6.4 Homebrew。
答案 0 :(得分:2)
默认情况下,按钮小部件将尝试适应其文本。那是他们记录的行为。您明确要求它们在使用sticky
选项时进行拉伸以填充其空间。
此外,特别是在OSX上,我认为使用本机主题时按钮的最小尺寸可能有所限制,但我可能会误解。