我使用 fyne-io 制作用户界面。在表格中,我想要一些带有超链接的单元格和其他带有 Label 的单元格。
我试过了,但没用:
package main
import (
"fmt"
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
)
func setDefaultColumnsWidth(table *widget.Table) {
table.SetColumnWidth(0, 130)
table.SetColumnWidth(1, 150)
table.SetColumnWidth(2, 160)
table.SetColumnWidth(3, 200)
table.SetColumnWidth(4, 400)
table.SetColumnWidth(5, 150)
table.SetColumnWidth(6, 250)
table.SetColumnWidth(7, 110)
table.SetColumnWidth(8, 80)
}
func main() {
application := app.New()
win := application.NewWindow("Test GUI")
data := [][]string{{"ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff"},
{"ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff"},
{"ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff", "ffffffffffffff"}}
tableData := widget.NewTable(
func() (int, int) {
return len(data), len(data[0])
},
func() fyne.CanvasObject {
label := widget.NewLabel("")
return label
},
func(i widget.TableCellID, o fyne.CanvasObject) {
switch o.(type) {
case *widget.Label:
label := o.(*widget.Label)
label.SetText(data[i.Row][i.Col])
case *widget.Hyperlink:
fmt.Println("Found Hyperlink")
hyperlink := o.(*widget.Hyperlink)
// hyperlink.SetText(data[i.Row][i.Col])
hyperlink.SetText("aaaaaaa")
}
})
}
我能怎么做 ?
我看到消息“fmt.Println("Found Hyperlink")”,但未显示超链接。
为什么 o.(type) 等于 *widget.Hyperlink 而超链接不显示?
凤凰求蛊
慕桂英546537
喵喵时光机
相关分类