0

我查看了 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。

4

1 回答 1

2

默认情况下,按钮小部件将尝试适应其文本。这是他们记录在案的行为。当您使用该sticky选项时,您明确要求他们伸展以填充他们的空间。

另外,特别是在 OSX 上,我认为使用本机主题时按钮的最小尺寸可能会受到限制,但我可能会弄错。

于 2018-11-30T04:52:42.380 回答