一个跨平台的Golang GUI库,底层绑定自Delphi VCL和Lazarus LCL

从1.2.0版本开始govcl将最低要求go1.9。

注: linux和macOS由于底层使用了lcl库,则部分组件、属性和方法无效。

如果你想要支持linux arm及linux 32bit则需要自己编译对应的liblcl二进制。

res2go工具 注:用Delphi/Lazarus设计界面,用Golang写代码。

使用方法

go get github.com/ying32/govcl

方法一:

package main

import (

"github.com/ying32/govcl/vcl"

)

func main() {

vcl.Application.Initialize()

mainForm := vcl.Application.CreateForm()

mainForm.SetCaption("Hello")

mainForm.EnabledMaximize(false)

mainForm.ScreenCenter()

btn := vcl.NewButton(mainForm)

btn.SetParent(mainForm)

btn.SetCaption("Hello")

btn.SetOnClick(func(sender vcl.IObject) {

vcl.ShowMessage("Hello!")

})

vcl.Application.Run()

}

方法二:

package main

import (

"github.com/ying32/govcl/vcl"

)

type TMainForm struct {

*vcl.TForm

Btn1 *vcl.TButton

}

var (

mainForm *TMainForm

)

func main() {

vcl.Application.Initialize()

vcl.Application.SetMainFormOnTaskBar(true)

vcl.Application.CreateForm(&mainForm)

vcl.Application.Run()

}

func (f *TMainForm) OnFormCreate(sender vcl.IObject) {

f.SetCaption("Hello")

f.Btn1 = vcl.NewButton(f)

f.Btn1.SetParent(f)

f.Btn1.SetBounds(10, 10, 88, 28)

f.Btn1.SetCaption("Button1")

f.Btn1.SetOnClick(f.OnButtonClick)

}

func (f *TMainForm) OnButtonClick(sender vcl.IObject) {

vcl.ShowMessage("Hello!")

}

方法三:

package main

import (

"github.com/ying32/govcl/vcl"

)

type TMainForm struct {

*vcl.TForm

Btn1 *vcl.TButton

}

var (

mainForm *TMainForm

)

func main() {

vcl.Application.Initialize()

vcl.Application.SetMainFormOnTaskBar(true)

vcl.Application.CreateForm(mainFormBytes, &mainForm)

vcl.Application.Run()

}

func (f *TMainForm) OnFormCreate(sender vcl.IObject) {

}

func (f *TMainForm) OnBtn1Click(sender vcl.IObject) {

vcl.ShowMessage("Hello!")

}

方法三需要配合UI设计器或者res2go工具使用。

注意:

当使用"liblcl"库时,是以兼容"libvcl"库形式运行的,所以有部分组件和组件的方法、属性及事件不可用。

API文档

Delphi VCL组件文档WIKI

Lazarus LCL组件文档WIKI

Windows API文档

Windows: 复制"libvcl.dll"或者"libvclx64.dll"或者“liblcl.dll”到当前exe目录或系统环境路径下。

Linux: 复制"liblcl.so"可执行文件目录下(也可复制liblcl.so到/usr/lib/目录中,作为公共库使用)。

MacOS: 复制"liblcl.dylib"可执行文件目录下(MacOS下注意:需要自行创建info.plist文件),或者参考:MacOS上应用打包

lazarus ui设计_Golang绑定VCL和LCL组件相关推荐

  1. 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8987342  这篇文章算是对整个引导界面开发专题的一个终结了吧,个人觉得大部 ...

  2. 【Android UI设计与开发】第02期:引导界面(二)使用ViewPager实现欢迎引导页面

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8980917 本系列文章都会以一个程序的实例开发为主线来进行讲解,以求达到一个 ...

  3. UI 设计代码化:低代码式设计语言 —— Unflow

    UI 设计代码化,即将软件的 UI 设计与 UI 交互转换为特定的领域语言,并使用代码的方式来进行管理.它可以直接将需求转换为 UI 原型,让设计人员基于此进行设计:还负责将其转换对应的 UI 代码, ...

  4. 北京UI设计培训,为什么要学5个月以上

    诚筑说:UI设计一定要学够5个月以上. 看到这句话,也许很是疑惑,明明有速成为什么非要学够5个月以上,不过我相信看完这篇文章,你便明白了 你要明白要学习的那些软件? Photoshop.Illustr ...

  5. Android手机UI设计---软件市场界面设计

    这是一个简单的Android手机UI设计-"软件市场"界面设计.上方的图片滑动由Gallery完成,最底下的类别分类是由TabHost完成,而在"首页"这个类别 ...

  6. UI设计的7大就业方向,你应该成为什么样的人才?

    UI设计是互联网时代的设计变革,有界面和软件的时候就存在,但却没有现在这样对 UI设计专业能力的重视.很多人现在学习UI设计,有的是看重UI设计月能薪破万的高薪资,有的人看重他未来大好的职业发展前景. ...

  7. 总结Android手机应用UI设计的10个要点

    总结Android手机应用UI设计的10个要点 (本文经游戏邦授权转载,原文链接http://gamerboom.com/archives/48018) 作者:Guenther Beyer 最近,许多 ...

  8. 【转】Android手机应用UI设计的10个建议

    最近,许多开发者进驻手机领域,小团队也能够构想出优秀和独特的想法,使用业余时间便足够来开发应用. 每个开发循环迟早到会走到应用几近完成这个点.接下来要做什么呢?你可曾听说过"用户体验&quo ...

  9. 使用Python库pyqt5制作TXT阅读器(一)-------UI设计

    项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/p ...

最新文章

  1. TreeSet的定制排序
  2. ustc小道消息20211223
  3. HashMap的实现与优化
  4. 从大学到结婚,我和小云的这13年
  5. Java开发中如何用JDBC连接起数据库?
  6. Logistic分类函数
  7. Nginx (Install)
  8. Eclipse断点种类
  9. 看完这篇你就懂了深度学习的具体流程和代码该怎么写了!(Deep Learning Onramp)
  10. 对话Huobi Prime首发项目TOP:李林80%的时间都在问项目能否落地
  11. 几个数拼接生成最大数(java实现)
  12. 微信公众号广告市场如此之大,还不抓住这个淘金的好机会
  13. 【产品设计】ToB 增删改查显算传
  14. 北京智和信通网络流量监控分析平台
  15. 一个五位数取前三位matlab,【有五个小球,分别是1,2,3,4,5号,有放回的从中取三次,每次取一个,...-前三后五取一颗-数学-关偈邓同学...
  16. 计算机毕业设计springboot化妆品商城网站
  17. 软工大作业·倾物语(三)
  18. D*算法的思考与理解
  19. 阿里的图片剪裁工具类及依赖的jar包
  20. python骚气表情包_火爆全网!这个 Python 项目很骚气!

热门文章

  1. 牛客网项目(社区项目)知识整理
  2. Excel打开CSV格式,大数字乱码情况
  3. 2、phpstudy本地搭建网站
  4. Python中字符串常见操作总结
  5. 20200314,今天是一个特别的日子
  6. 去IT培训机构学习适合哪些人去学习
  7. 经典幽默的计算机名言
  8. 惊天消息!美国重启病毒实验,或对人类造成巨大威胁...
  9. 全屋智能--智慧家庭新风向
  10. 极客日报:阿里将投入1000亿元助力共同富裕;Siri偷听用户对话被起诉 ;Linux Lite 5.6最终版正式发布