2016-12-10 105 views
0
self.button_decimal = Button(root, text=".", command=lambda: self.decimal(), 
          width="9", height="2", bg="steelBlue", font="Serif 12") 

如果我删除font="Serif 12"则一切正常,但是当我添加font="Serif 12"它更改字体大小,但它同时也增加/减少取决于你选择什么尺寸的键的大小。当我增加字体大小/更改字体类型时,为什么按钮大小会增加?

我的问题是,1.为什么会发生这种情况? 2.如何使用font=""参数增加字体大小和不是按钮大小?

+0

为什么按钮更改尺寸不好?你是否试图创建一个文本被部分切掉的按钮? –

+0

它是计算器应用程序的一部分,所有按钮都需要具有相同的大小。 –

+0

我想也许减少按钮内的填充可能对我有用。我不确定。 –

回答

1

1.为什么会发生这种情况?

它发生是因为这是他们设计的工作方式。按钮的大小与按钮使用的字体相对应。 99.9%的时间是准确的。没有这个,如果你指定一个大字体,文本将被按钮的边缘切掉。

2.如何使用font =“”参数增加字体大小而不是按钮大小?

你不能。请参阅第1点。

虽然这并非100%真实。有几个选项可以在某些平台上工作(例如,在OSX上,我认为没有什么可以做的)。

您可以将图像添加到按钮,在这种情况下,widthheight参数将被视为像素值而不是多个字符。

您可以通过几何管理器在按钮上提供约束来强制按钮达到特定的大小。我想这会是place,因为它具有widthheight属性,所以这将是最简单的。但是,除非您切换到的字体与原始字体几乎相同,否则它可能不会给您带来好的结果。

+0

您可以告诉我更多关于“您可以通过几何管理器提供的按钮限制按钮到特定大小”的解决方案。 –

+0

@ZaidA:不在评论部分。这是一个完全不同的问题。 –

+0

我对此表示歉意。 –