Walkは、GOプログラミング言語の「Windowsアプリケーションライブラリキット」です。
それは主にデスクトップGUI開発に役立ちますが、さらにいくつかのものがあります。
動作中のインストールがあることを確認してください。開始を参照してください
現在、ウォークは1.11.x以降に行く必要があります。
今すぐ実行してgo get github.com/lxn/walk
この小さな例に示されているように、ウォークでGUIを作成するための好ましい方法は、宣言的サブパッケージを使用することです。
test.go package main
import (
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
"strings"
)
func main () {
var inTE , outTE * walk. TextEdit
MainWindow {
Title : "SCREAMO" ,
MinSize : Size { 600 , 400 },
Layout : VBox {},
Children : [] Widget {
HSplitter {
Children : [] Widget {
TextEdit { AssignTo : & inTE },
TextEdit { AssignTo : & outTE , ReadOnly : true },
},
},
PushButton {
Text : "SCREAM" ,
OnClicked : func () {
outTE . SetText ( strings . ToUpper ( inTE . Text ()))
},
},
},
}. Run ()
}test.manifestを作成します<? xml version = " 1.0 " encoding = " UTF-8 " standalone = " yes " ?>
< assembly xmlns = " urn:schemas-microsoft-com:asm.v1 " manifestVersion = " 1.0 " >
< 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 >
< application xmlns = " urn:schemas-microsoft-com:asm.v3 " >
< windowsSettings >
< dpiAwareness xmlns = " http://schemas.microsoft.com/SMI/2016/WindowsSettings " >PerMonitorV2, PerMonitor</ dpiAwareness >
< dpiAware xmlns = " http://schemas.microsoft.com/SMI/2005/WindowsSettings " >True</ dpiAware >
</ windowsSettings >
</ application >
</ assembly >次に、このようなRSRCツールを使用してマニフェストをコンパイルします。
go get github.com/akavel/rsrc
rsrc -manifest test.manifest -o rsrc.syso
または、 test.exe.manifestにtest.manifestファイルを変更し、代わりにアプリケーションで配布します。
test.go実行を含むディレクトリで
go build
CMDウィンドウを取り除くには、代わりに実行します
go build -ldflags="-H windowsgui"
test.exe
あなたを始めるべき例がいくつかあります。
Walkには共通のコントロールが必要です。これは、実行可能ファイルの横に適切なアプリケーションマニフェストファイルを配置するか、リソースとして組み込まれていることを意味します。
例に付属のアプリケーションマニフェストファイルの1つをコピーできます。
マニフェストファイルをリソースとして埋め込むには、RSRCツールを使用できます。
重要:マニフェストをリソースとして埋め込まない場合は、マニフェストファイルが設置される前に実行可能なものを起動しないでください。とにかくそうすれば、プログラムは適切に実行されません。さらに悪いことに、Windowsはマニフェストファイルを認識しません。後で実行可能ファイルの隣にドロップします。これを修正するには、実行可能ファイルを再構築し、マニフェストファイルでのみ起動します。
通常のデフォルトのメッセージループには、Win32 API関数への呼び出しが含まれており、GOから来るまともなランタイムオーバーヘッドが発生します。これに代わるものとして、 walk_use_cgoビルドタグを渡すことにより、メインメッセージループのオプションのc実装を使用してウォークをコンパイルできます。
Build -Tags walk_use_cgoに行きます