Wails使用半透明“冰霜”效果

首先初始化一个模板项目

wails init -n transparent -t vue

然后把项目跑起来

修改应用配置

main.go
将背景色改为黑色,透明度0,也就是没有背景。
BackgroundColour: &options.RGBA{R: 0, G: 0, B: 0, A: 0},

package mainimport ("embed""github.com/wailsapp/wails/v2""github.com/wailsapp/wails/v2/pkg/options"
)//go:embed frontend/dist
var assets embed.FSfunc main() {// Create an instance of the app structureapp := NewApp()// Create application with optionserr := wails.Run(&options.App{Title:            "transparent",Width:            1024,Height:           768,Assets:           assets,BackgroundColour: &options.RGBA{R: 0, G: 0, B: 0, A: 0},OnStartup:        app.startup,Bind: []interface{}{app,},})if err != nil {println("Error:", err.Error())}
}

修改网页部分

frontend/src/style.css 删除所有的background样式

html {text-align: center;
}body {margin: 0;color: white;font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto","Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",sans-serif;
}@font-face {font-family: "Nunito";font-style: normal;font-weight: 400;src: local(""),url("assets/fonts/nunito-v16-latin-regular.woff2") format("woff2");
}#app {height: 100vh;text-align: center;
}

然后就能看见界面变成了

继续修改main.go
引入包,修改window下的配置

"github.com/wailsapp/wails/v2/pkg/options/windows"

添加参数

Windows: &windows.Options{WebviewIsTransparent:              true,// 网页透明WindowIsTranslucent:               true,// 窗口透明DisableWindowIcon:                 false,DisableFramelessWindowDecorations: false,WebviewUserDataPath:               "",Theme:                             windows.SystemDefault,CustomTheme: &windows.ThemeSettings{DarkModeTitleBar:   windows.RGB(20, 20, 20),DarkModeTitleText:  windows.RGB(200, 200, 200),DarkModeBorder:     windows.RGB(20, 0, 20),LightModeTitleBar:  windows.RGB(200, 200, 200),LightModeTitleText: windows.RGB(20, 20, 20),LightModeBorder:    windows.RGB(200, 200, 200),},},

完整main.go

package mainimport ("embed""github.com/wailsapp/wails/v2/pkg/options/windows""github.com/wailsapp/wails/v2""github.com/wailsapp/wails/v2/pkg/options"
)//go:embed frontend/dist
var assets embed.FSfunc main() {// Create an instance of the app structureapp := NewApp()// Create application with optionserr := wails.Run(&options.App{Title:            "transparent",Width:            1024,Height:           768,Assets:           assets,BackgroundColour: &options.RGBA{R: 0, G: 0, B: 0, A: 0},OnStartup:        app.startup,Bind: []interface{}{app,},Windows: &windows.Options{WebviewIsTransparent:              true,WindowIsTranslucent:               true,DisableWindowIcon:                 false,DisableFramelessWindowDecorations: false,WebviewUserDataPath:               "",Theme:                             windows.SystemDefault,CustomTheme: &windows.ThemeSettings{DarkModeTitleBar:   windows.RGB(20, 20, 20),DarkModeTitleText:  windows.RGB(200, 200, 200),DarkModeBorder:     windows.RGB(20, 0, 20),LightModeTitleBar:  windows.RGB(200, 200, 200),LightModeTitleText: windows.RGB(20, 20, 20),LightModeBorder:    windows.RGB(200, 200, 200),},},})if err != nil {println("Error:", err.Error())}
}

运行效果

此时窗口是透明了,冰霜效果也有了,但是窗口名称还是有点违和感,继续修改。
添加无边框

Frameless: true,


这样看起来就舒服多了,但是这样就不能拖动窗口和关闭了,就需要用到wail自带的一些方法和参数配置。

退出程序

window.runtime.Quit();

界面可以拖动,添加data-wails-drag
界面不可以拖动部分,添加data-wails-no-drag

完整代码

<script setup>
import HelloWorld from './components/HelloWorld.vue'
const handleQuit = () => {window.runtime.Quit();
}
</script><template><div data-wails-drag>拖动</div><div data-wails-no-drag>拖不动</div><button @click="handleQuit">关闭</button><img id="logo" alt="Wails logo" src="./assets/images/logo-universal.png"/><HelloWorld/>
</template><style>
#logo {display: block;width: 50%;height: 50%;margin: auto;padding: 10% 0 0;background-position: center;background-repeat: no-repeat;background-size: 100% 100%;background-origin: content-box;
}
</style>

运行效果

此时拖动部分可以拖动窗口移动位置,关闭可以关闭窗口,退出程序。

【Wails】高大上的半透明“冰霜” 效果相关推荐

  1. 为图片添加半透明遮罩效果

    平时为图片添加半透明遮罩效果,我的做法如下: 利用标签i实现背景半透明遮罩.当鼠标hover时, 提高i的背景色透明度值background-color: rgba(0, 0, 0, .6) < ...

  2. jquery 半透明遮罩效果 小结

    最近偏离学术的道路越来越远了!! 今天要小结的是实现一个半透明遮罩效果.点击页面上的一个按钮,立即在屏幕的正中央显示某个部件,并且在这个部件之外的区域像是蒙上了一层半透明的遮罩.点击遮罩区域,该正中央 ...

  3. QT 轻松实现半透明遮罩效果

    一.背景 有时候我们需要实现下面的半透明遮罩效果,以便突出子窗口. 二.实现原理 1.总共分为三层:主窗口(Form).遮罩.显示窗口. 2.主窗口的子窗口是遮罩,遮罩的子窗口是显示窗口. 3.遮罩设 ...

  4. [Android实例] 天天动听 半透明Menu效果

    这个咱再分享个天天动听的半透明Menu效果,个人感觉挺漂亮. 看下效果.  感觉如何啊? 分解一下: 1.  利用Shaper设置一个半透明圆角背景 2.  定义Menu布局,主要就GridView, ...

  5. 用 SMIL 2.0 实现台标半透明叠印效果

    定义播放区域大小为标准 352 x 288,而台标画面区域位于左上角,大小为 73 x 66,并且半透明效果.另外还包括了视频画面具有自动适应播放区域大小的功能.台标采用一个普通 jpg 或者 gif ...

  6. iOS磨砂(半透明)效果实现

    291F12A6-B038-4D48-9A26-E650F2BE2D1A.png 上图是我做的一个小demo里面的截图,如图所示,弹出框的背景是现在app大量使用的半透明磨砂效果,那么如果去实现这种效 ...

  7. C#实现winform仿div+css半透明遮罩效果

    本文实现在winform项目实现网页div+css关透明效果,挺帅的,在网页中要实现div的半透明遮罩层效果不难,在winform项目就不是这么容易了,下面我们来看下效果图先:   正常时: 文章来自 ...

  8. mac vscode 背景半透明_给 vscode 添加半透明毛玻璃效果

    Electron 可以调用 MacOS 的毛玻璃效果,下面让我来带你给 VScode 添加毛玻璃效果. 2. 创建一个 CSS 文件(CSS 是我自己写的,你可以按需修改) html { backgr ...

  9. 半透明遮罩效果 DIV

    1.用JS判断你的显示器分辨率: var iWidth = window.screen.availWidth; var iHeight = window.screen.availHeight; ,获取 ...

最新文章

  1. linux libpath的作用,linux – LD_LIBRARY_PATH似乎不起作用
  2. C语言编程规范--常用缩写词
  3. 中考英语听说计算机考试满分,北京2018中考英语听说计算机考试注意事项
  4. C++标识符的命名规则
  5. 计算机表演赛怎么打用户名,赛事报名操作指南 | 第28届中国儿童青少年威盛中国芯HTC计算机表演赛...
  6. 百度地图 截图java_我从百度地图静态图API中通过url获取到的图片,用java有没有什么办法可以把图片上的百度logo去掉呢...
  7. 电商跟微商的区别是什么呢
  8. Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度
  9. android usb dwc3 gaget rndis 网卡异常断开问题。
  10. 都挺好 苏大强C位出道的不只表情包 还有大眼袋
  11. 那些年,我们常见的那些人
  12. 微信公众号 调用红包接口
  13. 激光脉冲产生发光的等离子灯丝 或使远程监控成为可能
  14. 冲突域和碰撞域的理解
  15. throttle在程序中的作用
  16. 计算机主板知识,电脑硬件及电脑配置知识大全-主板知识
  17. 探究下疯狂动物城Zootopia为何如此高分的原因
  18. JN_0011:改变PPT的页面尺寸,并导出图片
  19. 英语学习篇 - 英语阅读法
  20. 华为ensp NAT 相关配置

热门文章

  1. 基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql)
  2. [日推荐]『涂图艺术滤镜』让你的照片一秒变艺术大片
  3. OpenStack入门科普,看这一篇就够啦
  4. ol在html中意思,在CSS样式中 .ol是什么意思啊
  5. KylinX:A Dynamic Library Operating System for Simplified and Efficient Cloud ~
  6. ROS系列(二)-常用命令和工具
  7. matlab 三维立体图,(精)MATLAB三维图形绘制.ppt
  8. Jmeter接口及性能报告监控插件
  9. seo如何和ajax和睦相处
  10. 张高兴的 Windows 10 IoT 开发笔记:ADXL345 加速度传感器