我正在使用enaml工具包,想知道如何初始化Splitter / SplitItem布局。

下面是一些非常简单的示例代码。我希望窗口从左侧的SplitItem开始,大约占窗口宽度的2/3,而右侧的SplitItem则获得其他三分之一。我在很多地方都尝试过各种约束,但是似乎无法满足我的需要。

窗口启动如下:


我希望它像这样开始:


from enaml.widgets.api import (
    Window, Container, Splitter, SplitItem, Html
    )

enamldef Left(Container):
    Html:
        source = '<center><h1>Hello Left!</h1></center>'

enamldef Right(Container):
    Html:
        source = '<center><h1>Hello Right!</h1></center>'

enamldef Main(Window):
    initial_size = (800,400)
    Container:

        Splitter:

            SplitItem:
                Left:lt:
                    pass

            SplitItem:
                Right:rt:
                    pass

最佳答案

在每个stretch上使用SplitItem属性。初始宽度将与总拉伸值的分数成比例。因此,对于左一个,使用stretch = 3,右一个使用stretch = 1。这会将3/4的空间分配给左侧,将1/4的空间分配给右侧。拉伸值必须是整数,而不是浮点值,因为这是基础工具箱所期望的。

关于python - 如何完成搪瓷的初始Splitter和Splitter布局?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15418828/

10-08 22:38