圖形使用者介面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程式設計
- GO-圖形使用者介面Go
- JavaGUI——Java圖形使用者介面JavaGUI
- Linux圖形介面知識-輕鬆更換圖形環境(轉)Linux
- 課時35:圖形使用者介面入門
- 圖形使用者介面2:常用控制元件控制元件
- 幾款流行的SQLite圖形使用者介面工具SQLite
- 在Ubuntu Server 中安裝圖形使用者介面UbuntuServer
- python 圖形初學Python
- AIX圖形介面配置AI
- CentOS 6.2圖形介面允許root使用者登入CentOS
- Oracle Linux 6.2 無法切換到圖形介面 (VNC)處理 - yum 安裝圖形介面軟體 - 1OracleLinuxVNC
- pix2code:從截圖生成圖形使用者介面程式碼
- 從二維介面到虛擬現實(1) – 初識VRVR
- VNC連線圖形介面VNC
- 帶你走進圖形使用者介面編制 (一) (轉)
- 1-HTML初識HTML
- Linux字元介面和圖形介面Linux字元
- [譯]安卓介面導航初識安卓
- 初識SVG向量圖SVG
- ffmpeg 圖形化介面工具 traGtor
- 試試python圖形介面Python
- Linux 安裝圖形介面Linux
- DirectX 圖形介面指南(2) (轉)
- DirectX 圖形介面指南(4) (轉)
- DirectX 圖形介面指南(3) (轉)
- DirectX 圖形介面指南(5) (轉)
- DirectX 圖形介面指南(6) (轉)
- DirectX 圖形介面指南(7) (轉)
- 急救~進不了圖形介面(轉)
- 07圖形化介面和命令列介面操作命令列
- 初識Go語言-1Go
- Django(1) - 初識Django框架Django框架
- Python學習之Web開發及圖形使用者介面模組!PythonWeb
- [Python GUI]Python內建圖形介面tkinter--入門1PythonGUI
- Linux字元介面切換到圖形介面Linux字元
- linux圖形介面和命令列介面切換Linux命令列