[英]Need help understanding size_hint in kivy
我當時想知道我是否得到了關於size_hint如何在Kivy中工作的解釋。 根據我的理解,它是從小部件到其父布局的相對比例。 我嘗試了以下代碼:
class TestFrame(GridLayout):
def __init__(self, **kwargs):
GridLayout.__init__(self, **kwargs)
self.rows = 1
self.add_widget(Label(text='test_num', size=(100, 25), size_hint=(.10, None)))
self.add_widget(Label(text='test_txt', size=(100, 25), size_hint=(.75, None)))
self.add_widget(Button(text='test_btn', size=(100, 25), size_hint=(.15, None)))
這就是我的期望:
|----------------------------------------------------------------------|
|Test_num : Test_txt : Test_btn |
相反,這是結果:
|----------------------------------------------------------------------|
| Test_num : Test_txt : Test_btn |
我玩過size_hint和size的不同組合,結果非常相似。 我錯過了什么或不理解?
據我所知,當你為同一屬性設置size_hint
和size
時,使用size_hint
和size
是不兼容的,就像設置兩者的x或y一樣。 使用其中一個。 如果你考慮一下,這是有道理的。 使用size
,您可以顯式設置窗口小部件的大小,並且使用size_hint
,您還可以以不同的方式顯式設置窗口小部件的大小,即相對於窗口小部件父級。 因此,如果將兩者用於相同的屬性x或y,則它們必然會發生沖突。
例如,當您將size_hint_y
設置為None時,可能就像上面那樣,然后指定y的size
。 或者,如果將size_hint_x
設置為None,並且僅指定x的size
。
但是,在上面你已經設置了x的size
,並且在所有實例中都設置了x的size_hint
。
所以:這些應該沒問題
size_hint=(None, .5), width=100
size_hint=(.5, None), height=100
這些會發生沖突
size_hint=(.6, .5), size=(34, 66)
size_hint=(None, 55), height=80
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.