【问题标题】:How do I use the IUP THEME attribute/DEFAULTTHEME global attribute如何使用 IUP THEME 属性/DEFAULTTHEME 全局属性
【发布时间】:2021-06-02 11:03:05
【问题描述】:

IUP 3.26 引入了 THEME 属性:

THEME 通用属性和 DEFAULTTHEME 全局属性 适用于所有控件一次应用一组属性。

我正在使用 IUP 3.28 并遵循(我认为)documentation 来标准化各种控件的外观;然而,它并没有像我预期的那样工作——事实上它似乎根本没有工作。主题中为每个控件指定的属性没有被应用,所以很明显我误解了一些东西。在示例中,按钮应该有粉红色的文本,但它没有。

      require "iuplua"
      iup.SetGlobal("DLGBGCOLOR","255 255 255") --default background colour
      iup.SetGlobal("TXTBGCOLOR", "255,255,255") --default text color
    
      myButtonTheme = iup.user{alignment="ALEFT:ACENTER", expand = "HORIZONTAL",
        padding = "20x10", fgcolor = "255 0 255"}
    
      myTheme = iup.user{
        IUPBUTTON = myButtonTheme
      }
    
      iup.SetGlobal("DEFAULTTHEME", "myTheme") --default settings for iup controls
      b = iup.button{title = "This should be pink"}
      dlg = iup.dialog{iup.hbox{b}}
      dlg:show()
      iup.MainLoop()
      dlg:destroy()

ETA:如果我这样创建按钮:b = iup.button{title = "This should be pink", theme = myButtonTheme} 它可以工作;但如果我依赖 DEFAULTHEME 则不会。我有一些由库创建的按钮,我想要一致地主题化

【问题讨论】:

    标签: lua iup


    【解决方案1】:

    没有来电:

     iup.SetHandle("myTheme", myTheme)
    

    创建 Lua myTheme 控件后。

    【讨论】:

    • 谢谢。我将不得不弄清楚为什么需要为 myTheme 而不是为 myButtonTheme 设置句柄,但现在至少我可以实现我想要的。
    猜你喜欢
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2012-08-16
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多