go fyne实战一,二

fyne实战

1 介绍fyne界面实现

使用Fyne工具包构建跨平台应用是非常简单的,在此之前我们需要做一些准备功能做,比如安装一些gcc基础图形依赖库,还有go语言本身的运行开发环境都是必要的。
经我研究一天,我感觉它的界面实现跟html有一定的区别的,首选一点就是它的容器和布局不能给定大小,给了不会变,它是根据它容器的特性决定,首选是Box 盒子模型,VBox是最小尺寸,这一点刚开始用的时候,设计模型用VBOX和HBOX,傻眼了。后来才用到Border边框布局

2 Border 边框布局

myApp := app.New()
	myWindow := myApp.NewWindow("Border Layout")
	red := color.NRGBA{R: 0xff, A: 0xff}
	//blue := color.NRGBA{B: 0xff, A: 0xff}
	top := canvas.NewText("top bar", color.Black)
	left := canvas.NewText("left", red)

	nofi := canvas.NewText("content", red)
	backgroundColor := canvas.NewRectangle(color.NRGBA{R: 200, G: 200, B: 100, A: 255})
	//backgroundColor.FillColor = blue

	// 使用容器将背景添加到窗口中
	middle := container.New(layout.NewStackLayout(), backgroundColor, nofi)

	content := container.NewBorder(top, nil, left, nil, middle)
	myWindow.SetContent(content)
	myWindow.ShowAndRun()

我们定义了3个容器上面左面和中间,上面和左边的都很小,中间会自动填充,效果图:
在这里插入图片描述

3 其他容器

给出官方地址

https://go-circle.cn/fyne-press/v1.0/4-containers-and-layout/max.html

在这里插入图片描述
还有一些特殊的像container.NewVSplit 创建个垂直相等自动填充的容器,你可以像下面一样创建容器,容器放到容器里面。

content := container.NewBorder(ssbURL2,
		layout.NewSpacer(),
		container.NewGridWithColumns(1, button, button2, button3, button4, layout.NewSpacer(), layout.NewSpacer(), layout.NewSpacer(), layout.NewSpacer(), layout.NewSpacer()),
		layout.NewSpacer(),
		container.NewVSplit(entry, entry2),

4.编译

本来是像结合大漠插件一起写的,可以测试的时候大漠和fyne 在一起不能编译通过一个是386,amd64。只能改变方案用http连接了

5.小项目

下面地址项目地址。fyne到一段落

git clone https://gitee.com/qaz9877/b44.git

下面是一个本地图片查看器,是我最近更新的

git clone https://gitee.com/qaz9877/ff56.git

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值