【go语言】用govcl实现windows平台的gui界面
专栏:web开发笔记 July 29, 2025, 12:38 a.m. 67 阅读
本文介绍如何在windows上实现一个gui界面
  • windows11

  • go1.24.2

  • github.com/ying32/govcl
    注:本方法也适用于win7/go1.20

第一步:下载govcl预编译版本的dll

下载https://github.com/ying32/govcl/releases/download/v2.2.3/liblcl-2.2.3.zip ,解压取出windows 64bit版本的dll,放到当前目录。

第二步,在当前目录编写go源码main.go,代码如下:

package main

import (
	"github.com/ying32/govcl/vcl"
)

func main() {
	vcl.Application.Initialize()
	vcl.Application.SetMainFormOnTaskBar(true)
	vcl.Application.CreateForm(&MainForm)
	vcl.Application.Run()
}

type TMainForm struct {
	*vcl.TForm
	Button *vcl.TButton
}

var MainForm *TMainForm

func (f *TMainForm) OnFormCreate(sender vcl.IObject) {
	f.SetCaption("Hello govcl")
	f.SetWidth(300)
	f.SetHeight(200)

	f.Button = vcl.NewButton(f)
	f.Button.SetParent(f)
	f.Button.SetCaption("Click Me!")
	f.Button.SetOnClick(f.OnButtonClick)
	f.Button.SetLeft(50)
	f.Button.SetTop(50)
}

func (f *TMainForm) OnButtonClick(sender vcl.IObject) {
	vcl.ShowMessage("Hello from govcl!")
}

第三步:编译成exe

go mod init go_gui
go get github.com/ying32/govcl
go mod tidy
go mod vendor
go build -ldflags "-H=windowsgui" -o myapp.exe

第四步:运行myapp.exe

image.png

附:参考资料:

 

感谢阅读,更多文章点击这里:【专栏:web开发笔记】
最新20篇 开设专栏