一尘不染

如何更改GUI组件的颜色

go

我正在尝试遵循的演示代码fyne

package main
import (
    "fyne.io/fyne/app"
    "fyne.io/fyne/widget"
)
func main() {
    a := app.New()
    w := a.NewWindow("Hello")
    w.SetContent(
        widget.NewVBox(
            widget.NewLabel("Hello Fyne!"),
            widget.NewButton("Quit", func(){a.Quit()} ),
        ),
    )
    w.ShowAndRun()
}

它可以正常运行,但我想将标签的颜色更改为蓝色,将按钮的颜色更改为绿色。我看到有,theme但这似乎是针对整个应用程序,而不是针对单个元素。

如何将不同的颜色应用于不同的GUI组件?谢谢你的帮助。


阅读 577

收藏
2020-07-02

共1个答案

一尘不染

由于Fyne中的标准小部件不支持自定义,因此没有简短的答案(除非我们不建议这样做)。

如果出于用户需要的某些合理原因而必须这样做,则应查看我们的开发人员文档,其中简要介绍了如何编写自定义窗口小部件。但是,我们的目标是在今年晚些时候的1.2版中简化此过程。

为了重申以上Fyne工具包中的注释,其目的是创建一种简单易行的一致用户体验。每次创建自定义窗口小部件以便拥有自定义颜色或样式时,都可能使用户感到困惑,并使维护代码变得更加困难。

2020-07-02