Python 3.x tkinter按钮没有';不接受高度参数

Python 3.x tkinter按钮没有';不接受高度参数,python-3.x,tkinter,ubuntu-16.04,Python 3.x,Tkinter,Ubuntu 16.04,我有一个Tkinter按钮,出于某种原因,它接受宽度=xx,但不接受高度=xx 我在ubuntu 16.04上使用Python3.5,默认情况下支持Tkinter 下面是代码示例: # works: button_enter = ttk.Button(self.frm, text='ok', width = 100) # works: button_enter.config(width=25) # fails: button_enter = ttk.Button(self.frm, text

我有一个Tkinter按钮,出于某种原因,它接受宽度=xx,但不接受高度=xx

我在ubuntu 16.04上使用Python3.5,默认情况下支持Tkinter

下面是代码示例:

# works: button_enter = ttk.Button(self.frm,  text='ok', width = 100)
# works: button_enter.config(width=25)
# fails: button_enter = ttk.Button(self.frm,  text='ok', height=15, width = 25)
# fails: button_enter.config(width=25, height=15)
button_enter = ttk.Button(self.frm,  text='ok')
button_enter.config(width=25)
button_enter['command'] = self.some_method
button_enter.grid(column=2, row = 0, sticky=W)
下面是我得到的错误:

Traceback (most recent call last):
  File "pygo.py", line 44, in <module>
    app = App()
  File "pygo.py", line 34, in __init__
    button_enter.config(height=15, width=25)
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1333, in configure
    return self._configure('configure', cnf, kw)
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1324, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-height"
回溯(最近一次呼叫最后一次):
文件“pygo.py”,第44行,在
app=app()
文件“pygo.py”,第34行,在_init中__
按钮\u enter.config(高度=15,宽度=25)
文件“/usr/lib/python3.5/tkinter/_init__.py”,第1333行,在configure中
返回自。_配置('configure',cnf,kw)
文件“/usr/lib/python3.5/tkinter/\uuuu init\uuuuu.py”,第1324行,在配置中
self.tk.call(_flatten((self._w,cmd))+self._选项(cnf))
_tkinter.TclError:未知选项“-高度”

它能起作用吗?或者如果它是一个bug,我应该在哪里报告它?

它不是bug,这只是ttk按钮的工作方式。如果您需要高度可配置的按钮,请使用tkinter按钮。ttk按钮的可配置性较差。ttk小部件的目标是为您提供一组与特定主题一致的按钮


由于您使用的是linux系统,因此可以使用带有适当选项的
pack
place
grid
来影响高度,尽管它不如
height
选项方便。

这不是一个bug,ttk按钮就是这样工作的。如果您需要高度可配置的按钮,请使用tkinter按钮。ttk按钮的可配置性较差。ttk小部件的目标是为您提供一组与特定主题一致的按钮


由于您使用的是linux系统,因此可以使用带有适当选项的
pack
place
grid
来影响高度,尽管它不如
height
选项方便。

使用place()方法而不是grid()或pack()或Config()。它会很好用的。我从未使用过Config()方法

使用Place()方法代替Grid()或Pack()或Config()。它会很好用的。我从未使用过Config()方法不要这样导入:

from tkinter.ttk import *

如果使用此方法导入,按钮将作为
ttk

导入。不要这样导入:

from tkinter.ttk import *

如果使用此方法导入,则按钮将作为
ttk

导入。谢谢您的回答,但是,如何使tkinter按钮不那么难看?似乎它是从1992年逃出来的;)@freeaks:如果你想要不那么难看的按钮,请使用ttk按钮,不要试图人为地把它们弄高。或者,如我所说,尝试使用适当的选项使它们更高,如
pack
place
grid
。这通常不会影响windows或OSX ttk按钮,因为该平台对本机按钮的外观有严格的指导原则。如果将ttk按钮打包到框架中并设置框架的大小,则可以使其更高。我的目标是使按钮与ttk Entry小部件的高度相同。默认情况下,输入的高度为10,按钮的高度为20(值仅用于说明,不是真实的高度值),感谢您的回答,但是,我如何使tkinter按钮不那么难看呢?似乎它是从1992年逃出来的;)@freeaks:如果你想要不那么难看的按钮,请使用ttk按钮,不要试图人为地把它们弄高。或者,如我所说,尝试使用适当的选项使它们更高,如
pack
place
grid
。这通常不会影响windows或OSX ttk按钮,因为该平台对本机按钮的外观有严格的指导原则。如果将ttk按钮打包到框架中并设置框架的大小,则可以使其更高。我的目标是使按钮与ttk Entry小部件的高度相同。默认情况下,输入的高度类似于10,按钮的高度类似于20(值仅用于说明,而不是实际的高度值)