go桌面主题制作工具(用 go 开发一个漂亮的 桌面客户端软件_如何将软件放到桌面)

发布时间:2025-12-10 19:16:34 浏览次数:5

用 go 开发一个漂亮的 桌面客户端软件_如何将软件放到桌面-go桌面主题软件下载

用 go 开发一个漂亮的 桌面客户端软件_如何将软件放到桌面Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。划重点:walk是windows上的gui库,不能跨平台。不过受益于golang语言的特性,最终打包体积很小,界面颜值也很高,如果只在windows上用用,那还是非常棒的。walk的项目

Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。

划重点:walk是windows上的gui库,不能跨平台。 不过受益于golang语言的特性,最终打包体积很小,界面颜值也很高,如果只在windows上用用,那还是非常棒的。

walk 的项目地址: https://github.com/lxn/walk
文档地址:https://godoc.org/github.com/lxn/walk

一、 安装walk模块

默认你是个GO语言的老手,已经配置好了golang的开发环境,有了自己趁手的ide。这里我直接说怎么使用walk开发GUI程序。

在开始之前请确保你的golang版本在1.11之上

Walk官方声明 : 限只支持 golang 1.11.x 以上的版本,1.11.x以下的已经不支持了

go的依赖库有2种安装方式

第一种,使用go get进行安装
go get github.com/lxn/walk

【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

第二种,从github下载之后,按如下目录放置 %GOPATH%\src\github.com\lxn\walk

然后执行 go install github.com\lxn\walk 命令进行安装。

二、创建项目

1. OSSTool工具简介

作为一个文件上传的客户端,支持两种方式上传文件

快捷键直接上传 拖动文件到指定区域上传

软件启动后直接最小化到系统托盘,支持在托盘图标上右键打开菜单,选择进入主界面,进行秘钥配置和文件拖动上传等功能。

2. 启动入口

创建一个空目录ossTool,进入该目录使用 go mod init 初始化项目。

在项目下新建一个main.go文件,作为主函数,监听系统快捷键和生成托盘图标、监听点击事件等,main.go 内容如下:

package mainimport ("fmt""ossTool/views""github.com/MakeNowJust/hotkey""github.com/getlantern/systray")func main() {//RunHomeWindow(); //运行主窗口//启动快捷键监听go func() {hkey := hotkey.New()hkey.Register(hotkey.Ctrl, 'U', func() {fmt.Println("Push Ctrl+U")})}()systray.Run(views.OnReady, views.OnExit) //运行托盘菜单}

3. 系统托盘

在系统托盘中,定义图标、标题和提示文字

systray.SetTemplateIcon(appIcon.LogoIcon, appIcon.LogoIcon)systray.SetTitle("OssTool")systray.SetTooltip("OssTool")

定义托盘图标的右键菜单

runWindow := systray.AddMenuItem("主界面", "Open the main window")systray.AddSeparator()mdCopy := systray.AddMenuItem("复制md格式", "copy for markdown")systray.AddSeparator()mURL := systray.AddMenuItem("文档地址", "visit the home page")systray.AddSeparator()mQuit := systray.AddMenuItem("退出程序", "Quit the whole app")

异步监听托盘图标的菜单项点击事件

go func() {for {select {case <-runWindow.ClickedCh:go func() {RunHomeWindow(mw) //运行主窗口}()case <-mdCopy.ClickedCh:if mdCopy.Checked() {mdCopy.Uncheck() //取消选中mdFlag = false} else {mdCopy.Check() //选中mdFlag = true}case <-mURL.ClickedCh:open.Run("https://www.cnblogs.com/ludg/")case <-mQuit.ClickedCh:systray.Quit() //退出托盘return}}}()

4. 主界面

菜单栏中,点击选项可配置oss的授权信息

三、安装 rsrc

代码写好后,我们直接go build打包是不行的,golang的图形exe需要依赖于manifest 清单文件才能正常运行。要把manifest嵌入exe文件中,还需要一个工具:rsrc

go get github.com/akavel/rsrc

四、创建 manifest 文件

在项目根目录下创建 main.manifest 文件,内容固定:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">    <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="SomeFunkyNameHere" type="win32"/>    <dependency>        <dependentAssembly>            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>        </dependentAssembly>    </dependency>    <asmv3:application>        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">            <dpiAware>true</dpiAware>        </asmv3:windowsSettings>    </asmv3:application></assembly>

五、生成 rsrc.syso

rsrc -manifest main.manifest -o rsrc.syso

六、打包成exe并去掉cmd守护

go build -ldflags="-H windowsgui"

此时,打开项目下的exe文件运行即可

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477