我正在创建一个函数,该函数应该在 Lua 的 IUP 中执行某个函数后将元素显示到主窗口中。
问题是,每当我运行没有 vbox/hbox 数组的函数时,程序都会正常显示 GUI 元素(在这个测试用例中,是一个文本框)。我还通过在新窗口上显示此内容进行了测试,这也有效。这是我使用的正常代码:
function wa()
local txt = {}
txt[1] = iup.text{
multiline = "NO",
padding = "5x5",
size="100x15",
scrollbar="Horizontal",
}
iup.Append(hrbox, txt[1])
iup.Map(txt[1])
iup.Refresh(hrbox)
end
但是,当我通过在函数中声明一个数组变量作为 hbox/vbox 来运行代码时,突然间,程序根本不会将元素显示到主窗口中,也不会在新窗口中显示:
function wa()
local txt = {}
local a = {}
a[1] = iup.vbox{}
txt[1] = iup.text{
multiline = "NO",
padding = "5x5",
size="100x15",
scrollbar="Horizontal",
}
iup.Append(a[1], txt[1])
iup.Map(txt[1])
iup.Refresh(a[1])
iup.Append(hrbox, a[1])
iup.Refresh(hrbox)
end
然后最奇怪的是,当我将hrbox(我用来在主窗口中显示元素的框)完全变成一个单独的变量时,它并没有显示在主窗口中,而是显示在新窗口中。这是后来的代码:
function wa()
local txt = {}
hrbox = iup.hbox{}
a = {}
a[1] = iup.vbox{}
txt[1] = iup.text{
multiline = "NO",
padding = "5x5",
size="100x15",
scrollbar="Horizontal",
}
iup.Append(a[1], txt[1])
iup.Map(txt[1])
iup.Refresh(a[1])
iup.Append(hrbox, a[1])
iup.Refresh(hrbox)
end
如何使声明为 hbox/vbox 元素的数组变量工作,以便它可以显示到主窗口中?我不知道该怎么做,在完成所有研究之后,我基本上被卡住了。
任何答案和建议表示赞赏。
提前致谢!