【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()
}

以上。

相关推荐
小坏讲微服务8 分钟前
Spring Cloud Alibaba 整合 Scala 教程完整使用
java·开发语言·分布式·spring cloud·sentinel·scala·后端开发
Kiri霧8 分钟前
Scala 循环控制:掌握 while 和 for 循环
大数据·开发语言·scala
过客随尘14 分钟前
Spring AOP以及事务详解(一)
spring boot·后端
闲人编程19 分钟前
Python的抽象基类(ABC):定义接口契约的艺术
开发语言·python·接口·抽象类·基类·abc·codecapsule
qq_1728055920 分钟前
Go 语言结构型设计模式深度解析
开发语言·设计模式·golang
武子康23 分钟前
大数据-167 ELK Elastic Stack(ELK) 实战:架构要点、索引与排错清单
大数据·后端·elasticsearch
9号达人23 分钟前
优惠系统演进:从"实时结算"到"所见即所得",前端传参真的鸡肋吗?
java·后端·面试
wei_shuo32 分钟前
openEuler 底座赋能:openGauss 数据库部署与性能实战评测
后端
用户40981702151035 分钟前
Python 的基本类型
后端
lkbhua莱克瓦2442 分钟前
集合进阶8——Stream流
java·开发语言·笔记·github·stream流·学习方法·集合