Tkinter 在Python中更改ttk按钮高度

Tkinter 在Python中更改ttk按钮高度,tkinter,ttk,Tkinter,Ttk,这似乎是一个愚蠢的问题,但是否可以手动更改ttk按钮的高度 类似于button=tkinter.button(边框,text='hi',width=20,height=20…)的功能对于tkinter按钮来说很好。虽然我更喜欢使用ttk按钮,因为它看起来更美观 button=ttk。按钮(框架,文本='hi',宽度=20,高度=20…不起作用,高度似乎不是有效选项。我尝试过用config设置它,或者在样式中寻找要更改的元素,但没有任何运气 有没有简单的解决办法?我正在使用Python2.7,Wi

这似乎是一个愚蠢的问题,但是否可以手动更改ttk按钮的高度

类似于
button=tkinter.button(边框,text='hi',width=20,height=20…)
的功能对于tkinter按钮来说很好。虽然我更喜欢使用ttk按钮,因为它看起来更美观

button=ttk。按钮(框架,文本='hi',宽度=20,高度=20…
不起作用,高度似乎不是有效选项。我尝试过用config设置它,或者在样式中寻找要更改的元素,但没有任何运气


有没有简单的解决办法?我正在使用Python2.7,Windows作为记录。抱歉,这似乎是一个很琐碎的问题,但我已经环顾四周,运气不好。

要直接回答您的问题,不,您不能这样做。主题按钮的全部目的是提供统一的大小

也就是说,有足够的空间进行开箱思考。例如,可以将按钮打包到帧中,关闭帧上的几何体传播(因此帧的大小控制按钮的大小,而不是相反),然后将帧的大小设置为所需的大小

或者,试着在按钮上放置一个你想要的高度的透明图像,然后使用
复合
选项将标签覆盖在不可见的图像上

或者,创建一个自定义主题,使用填充来获得所需的大小

最后,您可以将按钮放在网格中,使其“粘”到所有边,然后为该行设置最小高度


当然,如果你在OSX上,所有的赌注都是无效的——它真的想把按钮做成一个特定的大小。

举个例子,正如@Bryan所说,“例如,你可以把按钮装进一个框架”,我是这样做的:

将Tkinter作为tk导入
导入ttk
类MyButton(ttk.Frame):
def _uuinit_uuu(self,parent,height=None,width=None,text=”“,command=None,style=None):
ttk.Frame.\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
self.pack_传播(0)
self.\u btn=ttk.按钮(self,text=text,command=command,style=style)
自包装(填充=tk.BOTH,扩展=1)
这对我很有用:

my_button = ttk.Button(self, text="Hello World !")
my_button.grid(row=1, column=1, ipady=10, ipadx=10)

其中
ipady
ipadx
在按钮内部添加像素,这与
pady
padx
在按钮外部添加像素不同

很好,这些看起来都是潜在的好办法。谢谢。禁用几何体传播和粘贴到框架中也会对网格起作用吗?我试过一次,但没能玩得很好。可能需要再试一次。@Kumba:grid和pack在这方面没有什么不同——当您关闭几何体传播时,子小部件的大小不会影响包含小部件的大小。我想知道为什么高度不再是一个有效的选项(在ttk中)但宽度仍然是吗?@Pedru:因为苹果公司对操作系统上的按钮外观有严格的规定。在这段代码中添加一些上下文来解释可能也会对我的读者有所帮助。谢谢这应该是答案。非常感谢它帮助了我!效果很好。这应该是答案。非常感谢。只要增加字体大小,对我来说就行了。
self.btn = ttk.Button(window, text="LOGIN", width=20, command=self.validate)
self.btn.place(x=435, y=300,width=230,height=50)