Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Tkinter,如何使ttk.按钮大小适合其文本?_Python_Tkinter - Fatal编程技术网

Python 使用Tkinter,如何使ttk.按钮大小适合其文本?

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

我查看了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=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上工作的方式不同!