Toolbar 工具栏组件 #
工具栏小部件使用图标来表示一行操作按钮。widget.NewToolbar(…)构造函数函数获取widget.ToolbarItem参数列表。工具栏项的内置类型包括动作、分隔符和间隔符。
最常用的项是使用widget.NewToolbarItemAction(..)函数创建的操作。一个操作需要两个参数,第一个是要绘制的图标资源,第二个是点击时要调用的func()。这将创建一个标准工具栏按钮。
您可以使用widget.NewToolbarSeparator()在工具栏中的项目之间创建一个小分隔符(通常是一条细竖线)。最后,您可以使用widget.NewToolbarSpacer()在元素之间创建一个灵活的空间。这对于右对齐间隔符后面列出的工具栏项非常有用。
工具栏应始终位于内容区域的顶部,因此使用layout.BorderLayout将其与其他内容对齐是正常的。
go
package main
import (
"log"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/theme"
"fyne.io/fyne/v2/widget"
)
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("Toolbar Widget")
toolbar := widget.NewToolbar(
widget.NewToolbarAction(theme.DocumentCreateIcon(), func() {
log.Println("New document")
}),
widget.NewToolbarSeparator(),
widget.NewToolbarAction(theme.ContentCutIcon(), func() {}),
widget.NewToolbarAction(theme.ContentCopyIcon(), func() {}),
widget.NewToolbarAction(theme.ContentPasteIcon(), func() {}),
widget.NewToolbarSpacer(),
widget.NewToolbarAction(theme.HelpIcon(), func() {
log.Println("Display help")
}),
)
content := container.NewBorder(toolbar, nil, nil, nil, widget.NewLabel("Content"))
myWindow.SetContent(content)
myWindow.ShowAndRun()
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33