如何在Golang Fyne中隐藏窗口按钮与标题栏
在Fyne中移除窗口标题栏及控制按钮
- 直接调用窗口的
SetDecorated(false)方法即可禁用系统默认的窗口装饰,包括标题栏、最小化/最大化/关闭按钮。这是Fyne官方提供的标准API,可能你之前查阅文档时没注意到。 - 基础实现代码示例:
package main import ( "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/widget" "fyne.io/fyne/v2" ) func main() { myApp := app.New() myWindow := myApp.NewWindow("") // 标题可留空,因为装饰已禁用 // 核心配置:关闭窗口装饰 myWindow.SetDecorated(false) myWindow.SetContent(widget.NewLabel("无标题栏窗口示例")) myWindow.Resize(fyne.NewSize(400, 300)) // 手动设置窗口初始大小 myWindow.ShowAndRun() }
- 额外补充:去掉标题栏后窗口默认无法拖动,若需要实现拖动功能,可借助桌面端的鼠标事件处理,示例如下:
package main import ( "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/widget" "fyne.io/fyne/v2/driver/desktop" "fyne.io/fyne/v2" ) func main() { myApp := app.New() myWindow := myApp.NewWindow("") myWindow.SetDecorated(false) // 创建可拖动的顶层容器 content := widget.NewLabel("可拖动的无标题栏窗口") if deskWin, ok := myWindow.(desktop.Window); ok { content.SetMouseDownHandler(func(event *desktop.MouseEvent) { deskWin.Drag() }) } myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(400, 300)) myWindow.ShowAndRun() }
内容的提问来源于stack exchange,提问作者artem6987
相关产品推荐
相关产品推荐

