无边框设置
在 main.go 中
func main() {
// Create an instance of the app structure
app := NewApp()
// Create application with options
err := wails.Run(&options.App{
// Title: "myproject",
Frameless: true, // 无边框
Width: 759,
Height: 440,
// MinWidth: 512, // 最小宽度
// MinHeight: 384, // 最小高度
StartHidden: false, // 启动时隐藏窗口
// BackgroundColour: &options.RGBA{R: 0, G: 0, B: 0, A: 0}, // 背景颜色
AssetServer: &assetserver.Options{
Assets: assets,
},
OnStartup: app.startup,
// 设置自定义的 CSS 属性名称和值
CSSDragProperty: "--wails-draggable",
CSSDragValue: "drag",
Bind: []interface{}{
app,
},
Windows: &windows.Options{
WebviewIsTransparent: true, // Webview 透明
WindowIsTranslucent: true, // 窗口透明
BackdropType: windows.Auto, // Auto, Acrylic, Mica
DisableWindowIcon: false, // 禁用窗口图标
DisableFramelessWindowDecorations: false, // 禁用窗口装饰
WebviewUserDataPath: "",
WebviewBrowserPath: "",
Theme: windows.SystemDefault, // SystemDefault, Light, Dark
},
})
if err != nil {
println("Error:", err.Error())
}
}
将WebviewIsTransparent
和WindowIsTranslucent
设置为true
有个bug:
当Frameless
为flase
也就是有边框时,标题文字背景是白色的,无法设置透明。效果如下: