Go GUI框架Fyne学习4_MultiLineEntry和Accordion
MultiLineEntry 多行输入组件
//申明组件
test1 :=widget.NewMultiLineEntry()
//获取文本
test1.Text
//自动换行
test1.Wrapping=fyne.TextWrapBreak
其他设置与Entry类似
效果
Accordion 手风琴组件
Accordion结构体
type Accordion struct {
BaseWidget
Items []*AccordionItem
MultiOpen bool
}
从结构体可看出我们要往Items里面塞东西AccordionItem
AccordionItem结构体
type AccordionItem struct {
Title string
Detail fyne.CanvasObject
Open bool
}
tiele是手风琴子组件的标题
detail是任意组件
open是默认打不打开
常用操作
//申明组件
test0 := widget.NewAccordion()
//添加内容
item0 := widget.NewAccordionItem("1", widget.NewLabel("123"))
test0.Append(item0)
test0.Append(widget.NewAccordionItem("2", widget.NewLabel("123")))
//设置关闭第0个子组件,若在渲染前执行则相当于设置默认第0个子组件关闭
test0.Close(0)
//关闭所有子组件,若在渲染前执行则相当于设置默认所有子组件关闭
test0.CloseAll()
//打开第0个子组件,若在渲染前执行则相当于设置默认第0个子组件打开
test0.Open(0)
//打开所有子组件,若在渲染前执行则相当于设置默认所有子组件打开
test0.OpenAll()
//移除特定组件,此方法只对非匿申明的组件适用
test0.Remove(item0)
//移除第0个手风琴子组件,对所有子组件适用
test0.RemoveIndex(0)