推薦一個 Go GUI 實戰項目

大家好,我是 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

成功後,會打開一個應用,如下圖:

主界面

還支持暗黑模式。有 4 個菜單:

支持發送文件、文件夾、文本信息。

該項目涉及到的知識點:

看看 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)選擇文件對話框太醜

對話框

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

2)不支持中文。

發送文本內容的對話框輸入中文亂碼。選擇文件對話框中,文件名是中文也顯示亂碼。看你有沒有辦法解決這個問題。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/gkWwNovhppWBOc35Buo7Qw