展开IUP.tabs元素以适合对话框

时间:2013-05-11 22:31:19

标签: lua iup

我正在使用Lua 5.1.4IUP 3.4.0

鉴于代码:

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

其中tab1tab2都是包含一个或多个元素的iup.hbox,如何让iup.tabs元素占据整个窗口?

2 个答案:

答案 0 :(得分:1)

您的解决方案并非完全是黑客攻击。实际上是指向正确的方向。可以使用iup.fill {}元素来做到这一点,它是一个完全相同的void元素。但由于它只在盒子的方向上扩展,所以解决方案将如下所示:

tab1 = iup.hbox {
    iup.button { title = "A button" },
    iup.fill { },
    iup.vbox{iup.fill { }}
    ;
    tabtitle = "Tab1"
}

答案 1 :(得分: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()

这对我来说就像是一场黑客攻击,我确信会有更清洁的方式。