亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Fyne 將列表構件綁定到結構切片

使用 Fyne 將列表構件綁定到結構切片

Go
皈依舞 2022-08-24 20:31:34
我有一個數據項的集合,并且正在嘗試使用Fyne將GUI放在一起以編輯集合。我已經弄清楚了如何使用綁定來顯示集合,但是我不知道如何編輯這些項。以下是我所擁有的內容的略微簡化版本:type Item struct {  Name string  Slot1 bool  Slot2 bool}type ItemList struct {  Items []Item}我不會展示它們,但是我已經將方法添加到這兩個類型中,以便前者實現,后者實現。binding.DataItembinding.DataList現在顯示: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條經驗 獲得超10個贊

您需要將輸入控件連接到綁定(結構的項通過 傳入)。如果您已經擁有了使您訪問綁定的子項的方法,那么您就已經完成了大部分工作。diItem

要連接編輯功能,請替換為 和 。這兩者都將當前值設置為label.SetText(...)label.Bind(...)c1.SetChecked(...)c1.Bind(...)


查看完整回答
反對 回復 2022-08-24
  • 1 回答
  • 0 關注
  • 72 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號