GUI 桌面程序开发

package main

import (
    "fmt"

    "github.com/atotto/clipboard"
    "github.com/lxn/walk"
    . "github.com/lxn/walk/declarative"
)

// https://pkg.go.dev/github.com/lxn/walk?utm_source=gopls
func main() {
    var inTE, outTE *walk.TextEdit
    go func() {
        return
    }()
    g := func() {
        f := func(s string) {
            // ♘
            clipboard.WriteAll(s)
            outTE.SetText(s)
            _, _ = clipboard.ReadAll()
        }
        choice := fmt.Sprint(inTE.Text())
        switch choice {
        case "1":
            f("ā")
        case "2":
            f("á")
        case "3":
            f("ǎ")
        case "4":
            f("à")
        default:
            f("input your choice: 1ā\n2á\n3ǎ\n4ǎ on the left side")
        }

    }
    MainWindow{
        Title:   "Convert",
        MaxSize: Size{64, 64},
        MinSize: Size{32, 32},
        Layout:  VBox{},
        Children: []Widget{
            HSplitter{
                Children: []Widget{
                    TextEdit{AssignTo: &inTE},
                    TextEdit{AssignTo: &outTE, ReadOnly: true},
                },
            },
            PushButton{
                Text: "Run",
                OnClicked: func() {
                    outTE.SetText(inTE.Text())
                    g()
                    inTE.SetText("")
                },
            },
        },
    }.Run()
}
原文地址:https://www.cnblogs.com/rsapaper/p/15743928.html