使用 Wails 创建桌面应用(三)

无边框设置

在 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())
	}
}

WebviewIsTransparentWindowIsTranslucent设置为true

有个bug:
Framelessflase也就是有边框时,标题文字背景是白色的,无法设置透明。效果如下:

posted @ 2025-01-02 15:30  多多鱼^._.^  阅读(504)  评论(0)    收藏  举报