2016-12-10 72 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

我對此表示歉意。 –