2013-03-14 77 views
2

我正在使用enaml工具包,並想知道如何初始化Splitter/SplitItem佈局。如何用enaml完成初始Splitter和SplitItem佈局?

下面是一些非常簡單的示例代碼。我希望窗口從左邊的SplitItem開始佔據窗口寬度的2/3,右邊的SplitItem取得另外的三分之一。我在各種地方嘗試了各種限制,但似乎無法擊中我需要做的事情。

窗口開始是這樣的: equal width split items

我希望它這樣開始: left split item wider

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 

回答

3

使用每個SplitItemstretch屬性。初始寬度將與總拉伸值的比例成比例。所以對於左邊的,使用stretch = 3和右邊的stretch = 1。這會將3/4的空間分配給左側,將1/4的空間分配給右側。拉伸值必須是整數,而不是浮點值,因爲這是基礎工具包所期望的。

+0

就是這樣。謝謝,羅伯特!另外,我想建議比我更有名氣的人創建一個新的'enaml'標籤。肯定會很高興看到[docs]中的該屬性(http://docs.enthought.com/enaml/api_ref/widgets/enaml.widgets.split_item.SplitItem.html#enaml.widgets.split_item.SplitItem )。 – JefferyRPrice 2013-03-15 00:39:18

+0

@JefferyRPrice:我添加了enaml標籤。 – 2013-03-15 18:50:23

+0

@WarrenWeckesser謝謝!已經使用它! – JefferyRPrice 2013-03-15 19:08:56