前期准备一张ico图标,以下操作均为windows下进行

以下列出关键部分代码
func main() {
if err := (MainWindow{
AssignTo: &MWindow.MainWindow,
Title: "文档统计-小程序 v1.0",
MinSize: Size{320, 240},
Size: Size{800, 600},
OnDropFiles: func(files []string) {
if len(files) > 0 {
go MWindow.isOpenDir(files[0])
}
},
MenuItems: []MenuItem{
Menu{
Text: "&操作",
Items: []MenuItem{
Action{
AssignTo: &MWindow.openFile,
Text: "&选择文件夹",
OnTriggered: MWindow.ShowBrowseFolder,
},
Separator{},
Action{
Text: "退出",
OnTriggered: func() { MWindow.Close() },
},
},
},
Menu{
Text: "&帮助",
Items: []MenuItem{
Action{
Text: "关于",
OnTriggered: MWindow.aboutAction_Triggered,
},
},
},
},
Layout: VBox{},
Children: []Widget{
Label{
AssignTo: &MWindow.outTitle,
},
TextEdit{
AssignTo: &MWindow.outTE,
ReadOnly: true,
VScroll: true,
Font: Font{
Family: "微软雅黑",
PointSize: 10,
Bold: false,
Italic: false,
Underline: false,
StrikeOut: false,
},
Text: "在 【操作】 中选择目录进行查询\r\n或者 直接拖入文件夹",
},
},
}.Create()); err != nil {
log.Fatal(err)
}
ic, err := walk.NewIconFromImageForDPI(Base64ToImage(IconBase64), 40)
if err != nil {
return
}
//设置程序左上角图标
MWindow.MainWindow.SetIcon(ic)
op, err := walk.NewIconFromImageForDPI(Base64ToImage(OpenBase64), 90)
if err != nil {
return
}
//设置菜单栏上的图标
MWindow.openFile.SetImage(op)
MWindow.MainWindow.Run()
}
func Base64ToImage(str string) image.Image {
ddd, _ := base64.StdEncoding.DecodeString(str)
bbb := bytes.NewBuffer(ddd)
m, _, _ := image.Decode(bbb)
png.Encode(bbb, m)
return m
}
OpenBase64 = string("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAm...此处省略")
IconBase64 = string("iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAm...此处省略")