深圳 網(wǎng)站百度網(wǎng)盤搜索引擎官方入口
目錄
- 在Windos 10專業(yè)版搭建Fyne(Go 跨平臺GUI)開發(fā)環(huán)境
- 一 Fyne 和 MSYS2簡介
- 1.1 Fyne
- 1.2 MSYS2
- 二 安裝 MSYS2
- 2.1 下載MSYS2
- 2.2 安裝
- 2.3 環(huán)境變量設(shè)置
- 2.4 檢測安裝環(huán)境
- 三 參考文檔
在Windos 10專業(yè)版搭建Fyne(Go 跨平臺GUI)開發(fā)環(huán)境
一 Fyne 和 MSYS2簡介
1.1 Fyne
fyne 是一個用于 Go 語言的 GUI 包,它提供了一個簡單而強(qiáng)大的界面構(gòu)建框架。
fyne 的核心是一個事件驅(qū)動的渲染引擎,它可以輕松地創(chuàng)建具有豐富交互性的圖形界面。該框架提供了豐富的內(nèi)置控件,如按鈕、文本框、標(biāo)簽、列表等,并且支持自定義控件的創(chuàng)建。
此外,fyne 還提供了一系列的工具和函數(shù),用于處理界面事件、繪制圖形、處理圖像和字體等。它還支持跨平臺開發(fā),可以在 Windows、macOS 和 Linux 等多個操作系統(tǒng)上運(yùn)行。
總的來說,fyne 是一個非常強(qiáng)大和靈活的 GUI 包,可以幫助開發(fā)人員快速創(chuàng)建具有高交互性的圖形界面。它簡單易用,并且具有很高的可擴(kuò)展性,可以滿足各種不同的界面需求。
1.2 MSYS2
MSYS2 是一個基于 MinGW-w64 的發(fā)行版,它提供了一個完整的 POSIX 工具鏈和開發(fā)環(huán)境,可以讓開發(fā)人員在 Windows 上輕松地進(jìn)行開源開發(fā)。
MSYS2 包括了許多流行的開源工具,如 GCC、GDB、Make、Python、Perl 等等。它還提供了一個 Bash shell,可以讓開發(fā)人員像在 Linux 上一樣使用命令行。
使用 MSYS2,開發(fā)人員可以編譯、調(diào)試和運(yùn)行各種開源軟件,包括 C、C++、Java、Python 等語言的程序。此外,MSYS2 還可以與其他 Windows 應(yīng)用程序無縫集成,例如 Microsoft Visual Studio、 Eclipse CDT 等。
總的來說,MSYS2 是一個非常強(qiáng)大和靈活的發(fā)行版,為開發(fā)人員在 Windows 上進(jìn)行開源開發(fā)提供了一個完整的解決方案。
二 安裝 MSYS2
2.1 下載MSYS2
MSYS2下載地址
2.2 安裝
選擇安裝目錄(根據(jù)個人喜好進(jìn)行選擇),如圖1:
安裝完成,如圖2:
啟動UCRT64環(huán)境:
執(zhí)行以下安裝命令:
pacman -Syu
pacman -S git mingw-w64-x86_64-toolchain
pacman -S mingw-w64-ucrt-x86_64-gcc
gcc --version
各環(huán)境的差別,如圖4:
2.3 環(huán)境變量設(shè)置
環(huán)境變量設(shè)置包括windows環(huán)境變量設(shè)置和UCRT64兩個環(huán)境,Windows 環(huán)境需要加入:
UCRT64環(huán)境變量PATH加入Go的bin目錄:
執(zhí)行:
source .bashrc
go version
go install fyne.io/fyne/v2/cmd/fyne@latest
正確顯示go版本及安裝fyne命令行,即配置成功!
2.4 檢測安裝環(huán)境
下載Fyne Setup
解壓后雙擊exe文件,顯示如下則環(huán)境配置成功!
注意:使用Goland進(jìn)行開發(fā)時,編譯環(huán)境需加入:
CC=gcc;CGO_ENABLED=1;GOARCH=amd64;GOOS=windows
CC=gcc;CGO_ENABLED=1;GOARCH=amd64;GOOS=windows
否則報錯:
imports github.com/go-gl/gl/v3.2-core/gl: build constraints exclude all Go files in E:\workspace\go\...
中文顯示亂碼解決方法:
在mian包中init函數(shù)加入:
func init() {//設(shè)置中文字體:解決中文亂碼問題fontPaths := findfont.List()for _, path := range fontPaths {if strings.Contains(path, "msyh.ttf") || strings.Contains(path, "simhei.ttf") || strings.Contains(path, "simsun.ttc") || strings.Contains(path, "simkai.ttf") {os.Setenv("FYNE_FONT", path)break}}
}
Windows下打包:
fyne package -os windows -icon app.jpg
三 參考文檔
3.1 Fyne 官方幫助文檔