這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
What you are wasting today is tomorrow for those who died yesterday; what you hate now is the future you can not go back.
你所浪費的今天是昨天死去的人奢望的明天; 你所厭惡的現在是未來的你回不去的曾經。
本人入門Golang的gui, 只是想做一些小的工具日常工作使用, 因為對Golang的熱愛已經到了如癡如醉的地步。
開始今天的lxn/walk練習:
package mainimport ("encoding/json""github.com/lxn/walk". "github.com/lxn/walk/declarative")func main() {var inTE, outTE *walk.TextEditMainWindow{Title: "格式化工具",MinSize: Size{600, 400},Layout: VBox{},Children: []Widget{HSplitter{Children: []Widget{TextEdit{AssignTo: &inTE},TextEdit{AssignTo: &outTE, ReadOnly: true},},},PushButton{Text: "格式化",MinSize:Size{150, 36},OnClicked: func() {var jsonStr interface{}err := json.Unmarshal([]byte(inTE.Text()), &jsonStr)jsonStr, _ = json.MarshalIndent(jsonStr, "\r\n", "\t")if err != nil { // 暫時未找到設定顏色值//outTE.SetTextColor(walk.Color(32))outTE.SetText("資料格式不正確")} else {outTE.SetText(string(jsonStr.([]uint8)))}},},},}.Run()}
本案例盡在Windows 10 上測試。
運行首先使用rsrc工具編譯載入manifest檔案,然後build產生可執行檔