0

我正在使用Lua 5.1.4IUP 3.4.0

给定代码:

dlg =  iup.dialog {
    iup.hbox {
        iup.tabs {
            tab1,
            tab2
        }
    }
    ;
    title = "window",
    rasterSize = "640x480"
}

在哪里tab1以及tab2每个都iup.hbox包含一个或多个元素,我怎样才能让iup.tabs元素占据整个窗口?

4

2 回答 2

1

您的解决方案并不完全是 hack。实际上是指向正确的方向。iup.fill{} 元素可用于执行此操作,它是一个 void 元素,可以执行此操作。但由于它只在盒子的方向上扩展,解决方案将如下所示:

tab1 = iup.hbox {
    iup.button { title = "A button" },
    iup.fill { },
    iup.vbox{iup.fill { }}
    ;
    tabtitle = "Tab1"
}
于 2013-05-12T01:53:35.363 回答
0

经过一些实验,对我有用的解决方案是将一个不可见的标签元素插入其中一个选项卡,下面的工作示例。

require( "iuplua" )

tab1 = iup.hbox {
    iup.button { title = "A button" },
    iup.label { expand = "yes" }
    ;
    tabtitle = "Tab1"
}

tab2 = iup.hbox {
    iup.button { title = "Another button" }
    ;
    tabtitle = "Tab2"
}

dlg =  iup.dialog {
    iup.hbox {
        iup.tabs {
            tab1,
            tab2
        }
    }
    ;
    title = "window",
    rasterSize = "640x480"
}

dlg:showxy( iup.CENTER, iup.CENTER )
iup.MainLoop()

这对我来说就像是一种黑客行为,我确信存在一种更清洁的方式。

于 2013-05-12T01:01:59.943 回答