我正在尝试以下演示代码fyne:package mainimport ( "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 组件?感谢您的帮助。
2 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
这是在fyne-io/fyne
第 255 期中提出的
我建议可分配给小部件的单独样式:
但:
我们设计的一部分是促进应用程序的一致性——用户体验不会因为“这个标签更大”或“这个下拉菜单是透明的”而受到轻微影响。
Fyne 的方法是,小部件具有固定的样式(可以设置主题),但画布仍然完全可用,可以执行开发人员选择编码的任何特定设计。
因此,没有原生支持更改单个按钮的颜色。
这是非常正确的。
使小部件的样式与标准颜色不同的唯一方法是实现自定义小部件并自己添加该功能。然而,有一些语义样式,例如,按钮可以是“主要的”,在这种情况下它将使用主题突出显示颜色
富国沪深
TA贡献1790条经验 获得超9个赞
由于 Fyne 中的标准小部件不支持自定义,因此对此没有简短的答案(除了我们不建议这样做)。
如果您出于用户需要的某些正当原因必须这样做,那么您应该查看我们的开发人员文档,其中简要介绍了编写自定义小部件。然而,我们的目标是在今年晚些时候的 1.2 版本中使这个过程变得更容易。
重申一下上面的评论,Fyne 工具包的目标是创建一致的用户体验,编程简单且快速。每次您创建自定义小部件以便可以拥有自定义颜色或样式时,您可能会让用户感到困惑,并且会使维护代码变得更加困难。
- 2 回答
- 0 关注
- 199 浏览
添加回答
举报
0/150
提交
取消