Go Fyne 创建一个系统托盘(system tray)
需要使用第三方库 fyne-cross,它提供了对系统托盘功能的支持。
以下是一个简单的示例代码,演示如何在 fyne 应用程序中创建系统托盘:
package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
"github.com/getlantern/systray"
)
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("System Tray Example")
myWindow.Resize(fyne.NewSize(400, 300))
systray.Run(onReady, nil)
myWindow.SetContent(container.NewVBox(
widget.NewLabel("Hello from Fyne!"),
widget.NewButton("Quit", func() {
myApp.Quit()
}),
))
myWindow.ShowAndRun()
}
func onReady() {
systray.SetTitle("My App")
systray.SetTooltip("My App Tooltip")
mQuit := systray.AddMenuItem("Quit", "Quit the application")
go func() {
<-mQuit.ClickedCh
systray.Quit()
}()
}