在Python中更改ttk按钮高度

use*_*039 10 tkinter ttk

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

button = tkinter.Button(frame, text='hi', width=20, height=20...)tkinter按钮一样适合工作.虽然我更喜欢使用ttk按钮,因为它看起来更美观.

button = ttk.Button(frame, text='hi', width=20, height=20...)不起作用,高度似乎不是一个有效的选择.我已经尝试使用配置设置它或寻找风格中的元素来改变并且没有任何运气.

有一个简单的解决方案吗?我正在使用Python 2.7,Windows进行记录.对不起,这看起来像是一个微不足道的问题,但我没有太多运气环顾四周.

小智 16

这对我有用:

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

whereipadyipadx在按钮内添加像素,padypadxwhich 在按钮外添加像素


Bry*_*ley 6

要直接回答你的问题,不,你不能这样做.主题按钮的重点是提供统一的尺寸.

话虽这么说,但仍有足够的空间进行开箱即用的思考.例如,您可以将按钮打包到一个框架中,在框架上关闭几何体传播(因此框架的大小控制按钮的大小而不是反之亦然),然后将框架的大小设置为您想要的任何大小.

或者,尝试在您想要的高度上放置一个透明图像,然后使用该compound选项将标签覆盖在不可见的图像上.

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

最后,您可以将按钮放在网格中,让它"粘"到所有边,然后为该行设置最小高度.

当然,如果你在OSX上,所有的赌注都没有 - 它真的想让按钮达到特定的尺寸.


Ped*_*dru 5

只是一个例子,正如@Bryan所说,"例如,你可以将按钮打包成一个框架",我这样做:

import Tkinter as tk
import ttk

class MyButton(ttk.Frame):
    def __init__(self, parent, height=None, width=None, text="", command=None, style=None):
        ttk.Frame.__init__(self, parent, height=height, width=width, style="MyButton.TFrame")

        self.pack_propagate(0)
        self._btn = ttk.Button(self, text=text, command=command, style=style)
        self._btn.pack(fill=tk.BOTH, expand=1)
Run Code Online (Sandbox Code Playgroud)


小智 5

self.btn = ttk.Button(window, text="LOGIN", width=20, command=self.validate)
self.btn.place(x=435, y=300,width=230,height=50)
Run Code Online (Sandbox Code Playgroud)

  • 在此代码中添加一些上下文来解释可能会对读者有所帮助 (5认同)