浩克网 手游攻略 软件教程 fyne f1-10旗舰落地音箱评测(富养女儿穷养儿子的真正含义)

fyne f1-10旗舰落地音箱评测(富养女儿穷养儿子的真正含义)

时间:2024-06-25 10:31:42 来源:网络整理 浏览:0

每一种主流编程语言都有自己独特的UI库,Go语言也不甘落后。如果你不习惯用Dart或者Javascript开发跨平台的GUI应用,可以看看Fyne。

这个UI工具库,以强大易用的Go语言为后盾,兼具性能和开发效率,可以在桌面和移动上构建用户友好的应用。

Go语言用户界面库

Fyne是Github上fyne-io组织的开源Go UI工具包。该项目位于https://github.com/fyne-io/fyne,当前版本是v1.3.2

Fyne提供了一种简单的方法来开发漂亮、轻量级和用户友好的原生应用程序,具有大量高性能和易于使用的控件和布局。Fyne注重设计和可用性,控件能够充分满足用户对交互的期望,为开发者提供清晰的功能和界面。

Fyne安装简单,不用担心复杂的依赖关系。Go语言作为一种越来越流行的服务器语言,学习门槛较低,性能优秀,这让Fyne有了更大的提升空间。目前Fyne有大量的用例。

非常受欢迎。

Fyne库——为桌面和移动设备构建漂亮的应用程序

Fyne的安装是用Go语言开发的,需要Go 1.12或以上版本。使用go get安装:

去获得fyne.io/fyne的同时,你还需要一个C语言编译器来编译平台相关的图形驱动程序。对于Windows平台,

Cygwin,TDM-GCC,MSYS2(MingW-w64)都可以。在Linux平台上,需要安装相应平台的显卡驱动。比如你可以在Ubuntu/Debian中使用命令。

sudo apt-get install golang gcc libgl 1-mesa-dev xorg-dev想要开发安卓应用,

你需要安装安卓SDK和安卓NDK。如果要惩罚macOS或者iOS应用,需要Xcode进行开发。

示例Fyne提供了函数的用法。或者使用两种不同界面风格的结构,可以根据个人编码喜好选择。让我们看看Fyne的Hello World示例:

主要导入包(' fyne . io/fyne/app ' ' fyne . io/fyne/widget ')func main(){ a:=app .new()w:=a . new window(' Hello ')Hello:=widget .新标签(英语:NewLabel)(你好Fyne!)w.SetContent(小部件).NewVBox(hello,widget)NewButton("Hi!")func() {你好SetText(' Welcome:))}),))w . ShowAndRun()}代码很简洁.

直接运行代码:

Go运行hello.go将打开一个新窗口,其界面带有一个标签和一个按钮:

Finn's hello example

默认主题是暗色调风格。如果您想将其配置为亮色主题,可以设置环境变量。

FYNE_THEME=light可以得到一个明亮的主题界面:

Fyne亮色示例

在上面的代码中,我们可以看到控件的创建是通过使用New等函数实现的。Fyne还提供了一种通过使用结构来创建控件的方法。

包主导入(' fy ne。io/fy ne ' ' fy ne。io/fy ne/app ' ' fy ne。io/fy ne/widget ')func main(){ a:=app .new()w:=a .新窗口(' Hello ')w .设置内容(widget .方框{儿童:[]费恩.CanvasObject{widget .标签{Text:'你好,费恩!'},小部件.Button{Text: 'Quit 'OnTapped: func() {a.Quit()}},}})w.ShowAndRun()}在一些情况下,

Fyne控件丰富,包括基本按钮、输入框、表单、图标、进度条、选择框等等。

包主导入(' log ' ' fy ne。io/fy ne/app ' ' fy ne。io/fy ne/widget ')func main(){ myApp:=app .New() myWindow :=myApp .新窗口(“表单小部件”)条目:=小工具.NewEntry() textArea :=widget .new multilinent()form:=widget .表单{项目:[]*小部件FormItem { { ' Entry 'entry}},OnSubmit: func() { log .Println('表单提交:'条目。文字)日志Println('multiline:'textArea .文本)我的窗口Close() },}窗体Append('Text 'textArea) myWindow .我的窗口ShowAndRun()}Fyne表单

Fyne使用布局来控制控件的排列方式。

包括HBox(水平方向单行排列)、VBox(垂直方向单列排列)、Center(居中)、Grid(网格)、GridWrap(自适应的网格)、Border(各边外的剩余空间)和Max(最大填充)。

Grid布局

Fyne 的窗口控制十分方便,充分利用了Go 语言的协程特性,完成了窗口的异步渲染和控制:

package mainimport ('time''fyne.io/fyne''fyne.io/fyne/app''fyne.io/fyne/widget')func main() {myApp :=app.New()myWindow :=myApp.NewWindow('Hello')myWindow.SetContent(widget.NewLabel('Hello'))go showAnother(myApp)myWindow.ShowAndRun()}func showAnother(a fyne.App) {time.Sleep(time.Second * 5)win :=a.NewWindow('Shown later')win.SetContent(widget.NewLabel('5 seconds later'))win.Resize(fyne.NewSize(200, 200))win.Show()time.Sleep(time.Second * 2)win.Hide()}在本例中,

Fyne 还支持画布功能,可以在画布上进行自由渲染,实现更为复杂的图形应用:

package mainimport ( 'fyne.io/fyne' 'fyne.io/fyne/app' 'fyne.io/fyne/canvas' 'fyne.io/fyne/theme' 'image/color' 'time')func main() { myApp :=app.New() myWindow :=myApp.NewWindow('Canvas') myCanvas :=myWindow.Canvas() text :=canvas.NewText('Text', color.White) text.TextStyle.Bold=true myCanvas.SetContent(text) go changeContent(myCanvas) myWindow.Resize(fyne.NewSize(100, 100)) myWindow.ShowAndRun()}func changeContent(c fyne.Canvas) { time.Sleep(time.Second * 2) c.SetContent(canvas.NewRectangle(color.Black)) time.Sleep(time.Second * 2) c.SetContent(canvas.NewLine(color.Gray{0x66})) time.Sleep(time.Second * 2) circle :=canvas.NewCircle(color.White) circle.StrokeWidth=4 circle.StrokeColor=color.RGBA{0xff,0x33,0x33,0xff} c.SetContent(circle) time.Sleep(time.Second * 2) c.SetContent(canvas.NewImageFromResource(theme.FyneLogo()))}Fyne应用例子

更多Fyne 的打包构建十分简单,安装Fyne 配套的命令行工具

go get fyne.io/fyne/cmd/fyne对应桌面端的应用,在确定好目标平台后就可以直接打包:

fyne package -os darwin -icon myapp.pngfyne package -os linux -icon myapp.pngfyne package -os windows -icon myapp.png上述命令分别对应macOS、Linux 和Windows平台的构建,

而对于移动端平台,同样十分简单。在配置好了相应的环境后,运行

fyne package -os android -appID com.example.myapp -icon mobileIcon.pngfyne package -os ios - appID com.example.myapp -icon mobileIcon.png则可以分别构建出Android 平台的apk 文件和iOS 平台的app 文件。

Fyne特性

总结Fyne 作为一个UI 工具包,依靠Go 语言的优秀性能,尤其是goroutine 协程的异步特性,实现了高性能、易开发的图形界面应用。Fyne 的使用和设计十分现代化,

通过简单的命令行就能实现跨平台的开发和构建,安装方便,平台兼容性好。

Fyne 并未基于现有的UI 库进行开发,而是直接使用不同平台的图形驱动实现,完成了对跨平台UI 的抽象,底层代码值得研究。同时,Fyne 仍处于活跃开发阶段,不少功能仍待实现,

有兴趣的开发者可持续关注项目。

标题:fyne f1-10旗舰落地音箱评测(富养女儿穷养儿子的真正含义)
链接:https://www.52hkw.com/news/rj/58513.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
Tiktok专用的梯子加速器(TK加速器全球加速)

Tiktok作为当前最火爆的短视频平台,受到了全球用户的热烈欢迎。然而,由于网络限制或者其他原因,很多用户在观看

2024-06-25
怎么不让快递放菜鸟驿站

菜鸟裹裹怎么禁止放快递?经常网购的小伙伴都知道,如果附近有菜鸟驿站,那么驿站的快递员会默认选择放在驿站中,并

2024-06-25
德国游戏排行榜前十名(德国出品的游戏)

中国的玩家可能在新闻里听过德国科隆游戏展,但对德国的游戏却感觉很陌生。游戏玩家大部分多少应该都体验过SL

2024-06-25
菜鸟驿站怎么送货上门

菜鸟裹裹怎么送货上门?有过菜鸟驿站拿快递的小伙伴都知道,很多菜鸟驿站在派送快递时,默认是放在菜鸟驿站,需要我

2024-06-25