簡體   English   中英

需要幫助理解kivy中的size_hint

[英]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_hintsize時,使用size_hintsize是不兼容的,就像設置兩者的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM