Python 使用Tkinter,如何使ttk.按钮大小适合其文本?
我查看了Button小部件的选项,但在那里找不到任何类似“适合内容”的内容 我是否必须显式设置大小,以便使按钮大小与其Python 使用Tkinter,如何使ttk.按钮大小适合其文本?,python,tkinter,Python,Tkinter,我查看了Button小部件的选项,但在那里找不到任何类似“适合内容”的内容 我是否必须显式设置大小,以便使按钮大小与其文本相匹配 例如: 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=Fa
文本
相匹配
例如:
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.按钮特定的问题吗?我用Tk.Button进行了测试,它按预期工作
环境
macOS High Sierra上的Python 3.6.4自制。默认情况下,按钮小部件将尝试适合其文本。这是他们记录在案的行为。当您使用
sticky
选项时,您明确要求它们拉伸以填充空间
另外,特别是在OSX上,我认为在使用本机主题时,按钮的最小大小可能有限制,但我可能弄错了 默认情况下,按钮小部件将尝试适合其文本。这是他们记录在案的行为。当您使用
sticky
选项时,您明确要求它们拉伸以填充空间
另外,特别是在OSX上,我认为在使用本机主题时,按钮的最小大小可能有限制,但我可能弄错了 默认情况下,它应该适合其文本。请创建一个例子来说明您的问题。@BryanOakley谢谢Bryan!我更新了我的问题。它实际上是ttk按钮。默认情况下,它应该适合其文本。请创建一个例子来说明您的问题。@BryanOakley谢谢Bryan!我更新了我的问题。实际上是ttk按钮。谢谢,布莱恩!我删除了粘性的,所以至少我在它的高度上有了更薄的按钮,但似乎根本无法调整它的宽度。我想这就是ttk.Button在macOS上的工作原理。另一个在Mac上工作的方式不同!谢谢你,布莱恩!我删除了粘性的,所以至少我在它的高度上有了更薄的按钮,但似乎根本无法调整它的宽度。我想这就是ttk.Button在macOS上的工作原理。另一个在Mac上工作的方式不同!