圖形使用者介面1:初識Walk
GO語言的圖形介面庫Walk簡介
GO沒有原生的介面庫,所以不能直接用來寫GUI介面。但最近網際網路上已經湧現出不少成熟、好用的第三方介面庫。使用它們,就同樣可以寫出同C#、C++的介面。而且效率還更勝一籌。
關於Walk介面庫(官方介紹):Walk是一個寫給Golang的Window應用程式庫套件,它主要用於桌面GUI的開發,但也有更多的東西。
###安裝Walk
在瀏覽這部分前,請確定已經配置安裝完畢go語言的環境。如果沒有,可以參考go官網的Install幫助。另外,注意:這個Walk庫只能執行在Go 1.1.x及以上。
要安裝Walk很簡單,只要執行命令:go get github.com/lxn/walk
等待命令執行完畢,這時候檢查GOPATH的src與pkg下,是否有符合自己計算機環境的walk目錄。(我的電腦的CPU架構為AMD64,則會在%GOPATH%\windows_amd64\github.com\lxn
下出現一個walk資料夾與編譯完成的a檔案,另外在%GOPATH%\src\github.com\lxn
下也會出現walk的原始碼)
匯入依賴
import (
//引入walk包
"github.com/lxn/walk"
//declarative包下包含大量控制元件,加一個點:使用包內的成員時可以省略包名
."github.com/lxn/walk/declarative"
"strings"
)
官方的入門Demo
func main() {
//宣告兩個文字域控制元件
var inTE, outTE *walk.TextEdit
//配置主視窗,並執行起來
MainWindow{
//視窗標題
Title: "尖叫的Demo",
//可拉伸的最小尺寸
MinSize: Size{600, 400},
//主佈局:垂直佈局
Layout: VBox{},
//視窗中的所有控制元件
Children: []Widget{
//水平分割器(水平小布局)
HSplitter{
//區域性水平排列的控制元件們
Children: []Widget{
//文字輸入框
TextEdit{
//繫結到inTE變數
AssignTo: &inTE},
//文字輸出框
TextEdit{
AssignTo: &outTE,
//只讀的文字框
ReadOnly: true},
},
},
//普通按鈕
PushButton{
//按鈕文字
Text: "動動我試試",
//響應函式
OnClicked: func() {
inputStr := inTE.Text()
outputStr := strings.ToUpper(inputStr)
outTE.SetText(outputStr)
},
},
},
}.Run()
}
配置檔案
- 命名為xxx.exe.manifest,放置在程式包的根目錄下
- xxx.exe即為程式編譯形成的可執行程式名稱
- 該配置檔案作用是執行時向Windows作業系統尋求一些支援和依賴,內容可以無需修改
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="SomeFunkyNameHere" type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
執行Hello程式
- go get xxx的順利執行需要預先安裝好Git版本控制工具,下載連結:https://git-scm.com/downloads
- 安裝walk包
go get github.com/lxn/walk
- 拷貝類庫首頁(https://github.com/lxn/walk)的Hello程式程式碼到自己的go檔案
- 從類庫程式碼包的examples下的任意應用程式資料夾下拷貝一個系統依賴配置檔案(xxx.exe.manifest)到自己的go檔案所在的目錄下,重新命名為hello.exe.manifest,後續可執行程式的名字就必須叫hello.exe
- 編譯形成hello.exe,-ldflags="-H windowsgui"代表遮蔽控制終端(控制終端可以在測試階段檢視除錯資訊)
go build -o hello.exe -ldflags="-H windowsgui"
- 執行hello.exe
學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928
[清華團隊帶你實戰區塊鏈開發]
(https://ke.qq.com/course/344443?tuin=3d17195d)
掃碼獲取海量視訊及原始碼 QQ群:721929980
相關文章
- Matlab圖形使用者介面程式設計初級入門Matlab程式設計
- 26 使用者圖形介面
- GO-圖形使用者介面Go
- JavaGUI——Java圖形使用者介面JavaGUI
- 圖形使用者介面2:常用控制元件控制元件
- 課時35:圖形使用者介面入門
- python 圖形初學Python
- Zookeeper(1)---初識
- 初識Element(1)
- 圖形的認識
- Android 12(S) 圖形顯示系統 - 初識ANativeWindow/Surface/SurfaceControl(七)Android
- [Python GUI]Python內建圖形介面tkinter--入門1PythonGUI
- 1.HTML初識HTML
- 1.初識scala
- 使用SCRT+XMING 圖形介面
- 07圖形化介面和命令列介面操作命令列
- Ubuntu18.04中設定使用root使用者登入圖形介面Ubuntu
- Python學習之Web開發及圖形使用者介面模組!PythonWeb
- Python GUI介面程式設計-初識PythonGUI程式設計
- 初識Go語言-1Go
- Netty1:初識NettyNetty
- Django(1) - 初識Django框架Django框架
- XManager:xshell顯示圖形化介面
- Ubuntu無法進入圖形介面Ubuntu
- WSL安裝及配置圖形介面
- 圖形學基礎知識
- 初識“六邊形”架構設計理論架構
- 【python介面自動化】初識unittest框架Python框架
- 《Kafka筆記》1、Kafka初識Kafka筆記
- Linux7 圖形介面的切換Linux
- 002.02 Tkinter 圖形介面之文字範例
- Ubuntu 16.04無法登入圖形介面Ubuntu
- 阿里雲centos安裝圖形化介面阿里CentOS
- Linux ubuntu命令列安裝圖形介面LinuxUbuntu命令列
- oracle linux 7 安裝圖形化介面OracleLinux
- 第六組-圖形的認識
- Qt-跨平臺的C++圖形使用者介面應用程式框架(一)QTC++框架
- 構建知識圖譜-初學