package views import ( "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget" "sort" ) // CreateCards 创建卡片列表 func CreateCards(w fyne.Window) fyne.CanvasObject { var itemList []fyne.CanvasObject keys := make([]string, 0, len(CardTypeMap)) for key, _ := range CardTypeMap { keys = append(keys, key) } sort.Strings(keys) for _, key := range keys { info := CardTypeMap[key] itemList = append(itemList, widget.NewButton(info.Name, func() { info := CardTypeMap[key] cWin := fyne.CurrentApp().NewWindow(info.Name) cWin.SetContent(info.createView(cWin)) cWin.Resize(info.createSize) cWin.CenterOnScreen() cWin.Show() })) } return container.NewCenter(container.NewVBox(itemList...)) }