推荐一个 Go GUI 实战项目

阅读本文大概需要 5 分钟。

大家好,我是 polarisxu。

一直以来,挺多人想尝试 Go GUI 项目的,经过这些年的发展,响应的方案也挺多的,有原生的、有基于 Web 的。其中,fyne 这个 Go GUI 框架,发展比较好。之前写过一篇文章:Go 真的也可以进行 GUI 开发:还有这样的图书呢

今天推荐一个开源 Go GUI 项目:wormhole-gui,项目地址:https://github.com/Jacalz/wormhole-gui。这是一个跨平台应用程序,可在设备之间轻松加密共享文件、文件夹和文本。

如果你使用的是 Go1.17 版本,可以直接终端运行如下命令查看效果:(注意,最新版是 v2)

$ go run github.com/Jacalz/wormhole-gui/v2@latest

成功后,会打开一个应用,如下图:

fe258e005a4eed0e1e7127f9211c75e7.png

主界面

还支持暗黑模式。有 4 个菜单:

  • Send

  • Receive

  • Settings

  • About

支持发送文件、文件夹、文本信息。

该项目涉及到的知识点:

  • fyne 的使用

  • 网络传输

看看 main.go 中的代码:

package main

import (
 "fyne.io/fyne/v2"
 "fyne.io/fyne/v2/app"

 "github.com/Jacalz/wormhole-gui/v2/internal/assets"
 "github.com/Jacalz/wormhole-gui/v2/internal/ui"
)

func main() {
 a := app.NewWithID("com.github.jacalz.wormhole-gui")
 a.SetIcon(assets.AppIcon)
 w := a.NewWindow("wormhole-gui")

 w.SetContent(ui.Create(a, w))
 w.Resize(fyne.NewSize(700, 400))
 w.SetMaster()
 w.ShowAndRun()
}

不过项目存在以下问题:

1)选择文件对话框太丑

e75d0b20fe5dc2eb9e46ddc84ab69306.png

对话框

丑陋程度和 Java swing GUI 有得一拼。

2)不支持中文。

发送文本内容的对话框输入中文乱码。选择文件对话框中,文件名是中文也显示乱码。看你有没有办法解决这个问题。


往期推荐

ae21e84f2f9dccbcb4c782c3384fe786.png

我是 polarisxu,北大硕士毕业,曾在 360 等知名互联网公司工作,10多年技术研发与架构经验!2012 年接触 Go 语言并创建了 Go 语言中文网!著有《Go语言编程之旅》、开源图书《Go语言标准库》等。

坚持输出技术(包括 Go、Rust 等技术)、职场心得和创业感悟!欢迎关注「polarisxu」一起成长!也欢迎加我微信好友交流:gopherstudio

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值