【Go】Fyne跨平台图形界面框架使用

😏*★,°* :.☆( ̄▽ ̄)/$:.°★ 😏

这篇文章主要介绍Fyne跨平台图形界面框架使用。
学其所用,用其所学。------梁启超

欢迎来到我的博客,一起学习,共同进步。

喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • [:smirk:1. Fyne介绍](#:smirk:1. Fyne介绍)
    • [:blush:2. 环境安装与配置](#:blush:2. 环境安装与配置)
    • [:satisfied:3. 应用示例](#:satisfied:3. 应用示例)

😏1. Fyne介绍

Fyne是一个用于创建跨平台应用程序的Go语言框架。它提供了简单易用的API和工具,使开发者能够快速构建漂亮、高性能的图形界面应用程序。

官网:https://fyne.io/

Github地址:https://github.com/fyne-io/fyne

以下是Fyne的一些主要特点和优势:

1.跨平台支持:Fyne支持多个操作系统和平台,包括Windows、macOS、Linux以及基于Raspberry Pi等设备。这意味着您可以使用相同的代码库构建适用于不同平台的应用程序。
2.简单易用的API:Fyne提供了简洁而直观的API,使得构建用户界面变得非常容易。它采用了声明式布局,您可以使用自定义控件或内置控件来创建界面,并使用现代化的UI风格。
3.原生外观和性能:Fyne使用操作系统的本地GUI组件,以确保应用程序在外观和行为上与目标平台保持一致。同时,它还优化了绘制和渲染引擎,以提供快速且流畅的用户体验。
4.支持多种输入方式:Fyne支持鼠标、键盘和触摸屏等多种输入方式,使您能够轻松处理各种用户交互。
5.适用于嵌入式设备:Fyne也可以用于嵌入式设备,包括基于树莓派的应用程序开发。它的轻量级设计和高性能使其成为在资源受限的环境下构建应用程序的理想选择。

Fyne是一个强大而灵活的跨平台GUI框架,适用于使用Go语言开发图形界面应用程序的开发者。无论您是要构建桌面应用、移动应用还是嵌入式应用,Fyne都可以提供简单、高效和可靠的解决方案。

😊2. 环境安装与配置

上一节已经安装好了gogcc,下面就安装fyne这个跨平台GUI框架,go安装包类似python语言的pip

bash 复制代码
# 设置go get代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

# 永久设置
sudo gedit /etc/profile
export GOPROXY=https://goproxy.cn  #代理

# go get安装和更新包(Fyne这里是v1,需要v2记得加v2)
go get fyne.io/fyne
go get -u fyne.io/fyne
go get fyne.io/fyne/v2

# 卸载包(需要手动删除源码和二进制文件,示例如下)
rm -rf $GOPATH/src/example.com/package
rm $GOPATH/bin/package
# 如果没有设置GOPATH,安装的pkg默认是在home下
# 建议go安装时不用用apt装,因为后面许多框架都需要go版本1.17以上

# 设置项目
mkdir hello_go
go mod init hello_go # 初始化
go mod tidy # 安装依赖
touch main.go
go run main.go

😆3. 应用示例

go最简示例:

go 复制代码
package main

import (
   "fyne.io/fyne/widget"
   "fyne.io/fyne/app"
)

func main() {
   app := app.New()

   w := app.NewWindow("Hello")
   w.SetContent(widget.NewVBox(
        widget.NewLabel("Hello Fyne!"),
        widget.NewButton("Quit", func() {
            app.Quit()
         }),
    ))

    w.ShowAndRun()
}

以上。

相关推荐
一颗花生米。2 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼2 小时前
Java基础-单例模式的实现
java·开发语言·单例模式
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
通信仿真实验室3 小时前
(10)MATLAB莱斯(Rician)衰落信道仿真1
开发语言·matlab
勿语&3 小时前
Element-UI Plus 暗黑主题切换及自定义主题色
开发语言·javascript·ui
2401_857622666 小时前
SpringBoot框架下校园资料库的构建与优化
spring boot·后端·php
2402_857589366 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰6 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
ChinaDragonDreamer6 小时前
Kotlin:2.0.20 的新特性
android·开发语言·kotlin
IT良6 小时前
c#增删改查 (数据操作的基础)
开发语言·c#