中文 | Englisch
Die plattformübergreifende Golang-GUI-Bibliothek ist die Kernbindung LIBLCL, eine gemeinsame plattformübergreifende GUI-Bibliothek, die von Lazarus erstellt wurde.
GOVCL ist eine native GUI -Bibliothek, die nicht auf HTML basiert, geschweige denn in der DirectUi -Bibliothek, alles ist praktisch.
Vollständiger Name: Go Language Visual Component Library
Die Mindestanforderung für Govcl ist Go1.9.2.
Weil die Govcl bereits in eine stabile Bühne eingetreten ist und derzeit in einem Zustand reiner Wartung befindet. Unter normalen Umständen werden keine neuen Funktionen oder Komponenten hinzugefügt. Wenn es keine Fehler gibt, die behoben werden müssen (unter Bezugnahme auf die Fehler in Govcl), wird im Prinzip eine neue Version nicht veröffentlicht. 2023/11/20
Screenshots | Wiki (Chinesisch) | Was ist neu (Chinesisch)
Fenster | Linux | macos
Wenn Sie Linux Arm und Linux 32bit unterstützen möchten, müssen Sie den entsprechenden LIBLCL -Binary kompilieren.
Hinweis: Dieser UI -Designer wird nicht mehr aktualisiert, hat jedoch keinen Einfluss auf die Verwendung.
Verwendung: Installationsmethode
Hinweis: In Lazarus entworfen, Code in Golang geschrieben.
Gehen Sie -u Github.com/ying32/govcl
Hinweis: Sie können auch den Go -Modulmodus verwenden, konfigurieren Sie in Go.mod wie: github.com/ying32/govcl v2.2.3+incompatible .
package main
import (
// Do not reference this package if you use custom syso files
_ "github.com/ying32/govcl/pkgs/winappres"
"github.com/ying32/govcl/vcl"
)
type TMainForm struct {
* vcl. TForm
Btn1 * vcl. TButton
}
type TAboutForm struct {
* vcl. TForm
Btn1 * vcl. TButton
}
var (
mainForm * TMainForm
aboutForm * TAboutForm
)
func main () {
vcl . Application . Initialize ()
vcl . Application . SetMainFormOnTaskBar ( true )
vcl . Application . CreateForm ( & mainForm )
vcl . Application . CreateForm ( & aboutForm )
vcl . Application . Run ()
}
// -- TMainForm
func ( f * TMainForm ) OnFormCreate ( sender vcl. IObject ) {
}
func ( f * TMainForm ) OnBtn1Click ( sender vcl. IObject ) {
aboutForm . Show ()
}
// -- TAboutForm
func ( f * TAboutForm ) OnFormCreate ( sender vcl. IObject ) {
}
func ( f * TAboutForm ) OnBtn1Click ( sender vcl. IObject ) {
vcl . ShowMessage ( "Hello!" )
}Methode 1 muss in Verbindung mit dem Res2go -Tool verwendet werden.
package main
import (
// Do not reference this package if you use custom syso files
_ "github.com/ying32/govcl/pkgs/winappres"
"github.com/ying32/govcl/vcl"
)
type TMainForm struct {
* vcl. TForm
Btn1 * vcl. TButton
}
type TAboutForm struct {
* vcl. TForm
Btn1 * vcl. TButton
}
var (
mainForm * TMainForm
aboutForm * TAboutForm
)
func main () {
vcl . RunApp ( & mainForm , & aboutForm )
}
// -- TMainForm
func ( f * TMainForm ) OnFormCreate ( sender vcl. IObject ) {
f . SetCaption ( "MainForm" )
f . Btn1 = vcl . NewButton ( f )
f . Btn1 . SetParent ( f )
f . Btn1 . SetBounds ( 10 , 10 , 88 , 28 )
f . Btn1 . SetCaption ( "Button1" )
f . Btn1 . SetOnClick ( f . OnBtn1Click )
}
func ( f * TMainForm ) OnBtn1Click ( sender vcl. IObject ) {
aboutForm . Show ()
}
// -- TAboutForm
func ( f * TAboutForm ) OnFormCreate ( sender vcl. IObject ) {
f . SetCaption ( "About" )
f . Btn1 = vcl . NewButton ( f )
//f.Btn1.SetName("Btn1")
f . Btn1 . SetParent ( f )
f . Btn1 . SetBounds ( 10 , 10 , 88 , 28 )
f . Btn1 . SetCaption ( "Button1" )
f . Btn1 . SetOnClick ( f . OnBtn1Click )
}
func ( f * TAboutForm ) OnBtn1Click ( sender vcl. IObject ) {
vcl . ShowMessage ( "Hello!" )
} Windows: Abhängig davon, ob die kompilierte Binärin 32 oder 64 Bit beträgt, kopieren Sie die entsprechende liblcl.dll in den aktuellen ausführbaren Dateiverzeichnis oder den Systemumgebungsweg.
GOARCH = amd64 386 GOOS = windows CGO_ENABLED=0 Linux: Kopieren Sie liblcl.so im aktuellen ausführbaren Dateiverzeichnis (Sie können auch liblcl.so nach /usr/lib/ (32bit liblcl) oder /usr/lib/x86_64-linux-gnu/ (64bit liblcl) -Verzeichnis, verwendet als öffentliche Bibliothek) kopieren.
GOARCH = amd64 GOOS = linux CGO_ENABLED=1 MacOS: Kopieren Sie liblcl.dylib in das aktuelle ausführbare Dateiverzeichnis (Hinweis unter MacOS: Sie müssen info.plist -Datei selbst erstellen) oder beziehen sich auf: App -Verpackung auf macOS
GOARCH = amd64 GOOS = darwin CGO_ENABLED=1Hinweis: Das "aktuelle ausführbare Dateiverzeichnis" bezieht sich hier auf den Speicherort der ausführbaren Datei, die von Ihrem derzeit kompilierten Projekt generiert wurde.
Besonderer Hinweis: Alle UI-Komponenten sind nicht-thread-/nicht coroutine-Safe. Verwenden Sie in Goroutine vcl.threadsync, um Updates mit der Benutzeroberfläche zu synchronisieren.
Spezialer Hinweis 2: Wenn Sie Go> = 1.15 verwenden, um Windows -ausführbare Dateien zu kompilieren, müssen Sie die Option -buildmode=exe -Kompilierungsoption verwenden, andernfalls gibt es Fehler.
F: Warum gibt es kein englisches Wiki?
A: Mein Englisch ist schlecht. Sie können versuchen, Google Translate Chinese Wiki zu verwenden.