我有一個數(shù)據(jù)項的集合,并且正在嘗試使用Fyne將GUI放在一起以編輯集合。我已經(jīng)弄清楚了如何使用綁定來顯示集合,但是我不知道如何編輯這些項。以下是我所擁有的內(nèi)容的略微簡化版本:type Item struct { Name string Slot1 bool Slot2 bool}type ItemList struct { Items []Item}我不會展示它們,但是我已經(jīng)將方法添加到這兩個類型中,以便前者實現(xiàn),后者實現(xiàn)。binding.DataItembinding.DataList現(xiàn)在顯示:var dataList := ItemList{ ... ...}list := NewListWithData( dataList, func() fyne.CanvasObject { label := widget.NewLabel("placeholder") c1 := widget.NewCheck("", func(bool) {}) c2 := widget.NewCheck("", func(bool) {}) return container.NewHBox(label, c1, c2) }, func(di binding.DatItem, obj fyne.CanvasObject) { ct := obj.(*fyne.Container) label := ct.Objects[0].(*widget.Label) c1 := ct.Objects[1].(*widget.Check) c2 := ct.Objects[2].(*widget.Check) item := di.(Item) label.SetText(item.Name) c1.SetChecked(item.Slot1) c2.SetChecked(item.Slot2) },}我懷疑在這一點上我需要做這樣的事情,但是如果我這樣做,我不確定如何將它們放入標簽并檢查小部件。values := binding.BindStruct(&item)
1 回答

慕哥6287543
TA貢獻1831條經(jīng)驗 獲得超10個贊
您需要將輸入控件連接到綁定(結構的項通過 傳入)。如果您已經(jīng)擁有了使您訪問綁定的子項的方法,那么您就已經(jīng)完成了大部分工作。di
Item
要連接編輯功能,請?zhí)鎿Q為 和 。這兩者都將當前值設置為label.SetText(...)
label.Bind(...)
c1.SetChecked(...)
c1.Bind(...)
- 1 回答
- 0 關注
- 71 瀏覽
添加回答
舉報
0/150
提交
取消