lazarus ui设计_Golang绑定VCL和LCL组件
一个跨平台的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组件相关推荐
- 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面
转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8987342 这篇文章算是对整个引导界面开发专题的一个终结了吧,个人觉得大部 ...
- 【Android UI设计与开发】第02期:引导界面(二)使用ViewPager实现欢迎引导页面
转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8980917 本系列文章都会以一个程序的实例开发为主线来进行讲解,以求达到一个 ...
- UI 设计代码化:低代码式设计语言 —— Unflow
UI 设计代码化,即将软件的 UI 设计与 UI 交互转换为特定的领域语言,并使用代码的方式来进行管理.它可以直接将需求转换为 UI 原型,让设计人员基于此进行设计:还负责将其转换对应的 UI 代码, ...
- 北京UI设计培训,为什么要学5个月以上
诚筑说:UI设计一定要学够5个月以上. 看到这句话,也许很是疑惑,明明有速成为什么非要学够5个月以上,不过我相信看完这篇文章,你便明白了 你要明白要学习的那些软件? Photoshop.Illustr ...
- Android手机UI设计---软件市场界面设计
这是一个简单的Android手机UI设计-"软件市场"界面设计.上方的图片滑动由Gallery完成,最底下的类别分类是由TabHost完成,而在"首页"这个类别 ...
- UI设计的7大就业方向,你应该成为什么样的人才?
UI设计是互联网时代的设计变革,有界面和软件的时候就存在,但却没有现在这样对 UI设计专业能力的重视.很多人现在学习UI设计,有的是看重UI设计月能薪破万的高薪资,有的人看重他未来大好的职业发展前景. ...
- 总结Android手机应用UI设计的10个要点
总结Android手机应用UI设计的10个要点 (本文经游戏邦授权转载,原文链接http://gamerboom.com/archives/48018) 作者:Guenther Beyer 最近,许多 ...
- 【转】Android手机应用UI设计的10个建议
最近,许多开发者进驻手机领域,小团队也能够构想出优秀和独特的想法,使用业余时间便足够来开发应用. 每个开发循环迟早到会走到应用几近完成这个点.接下来要做什么呢?你可曾听说过"用户体验&quo ...
- 使用Python库pyqt5制作TXT阅读器(一)-------UI设计
项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/p ...
最新文章
- TreeSet的定制排序
- ustc小道消息20211223
- HashMap的实现与优化
- 从大学到结婚,我和小云的这13年
- Java开发中如何用JDBC连接起数据库?
- Logistic分类函数
- Nginx (Install)
- Eclipse断点种类
- 看完这篇你就懂了深度学习的具体流程和代码该怎么写了!(Deep Learning Onramp)
- 对话Huobi Prime首发项目TOP:李林80%的时间都在问项目能否落地
- 几个数拼接生成最大数(java实现)
- 微信公众号广告市场如此之大,还不抓住这个淘金的好机会
- 【产品设计】ToB 增删改查显算传
- 北京智和信通网络流量监控分析平台
- 一个五位数取前三位matlab,【有五个小球,分别是1,2,3,4,5号,有放回的从中取三次,每次取一个,...-前三后五取一颗-数学-关偈邓同学...
- 计算机毕业设计springboot化妆品商城网站
- 软工大作业·倾物语(三)
- D*算法的思考与理解
- 阿里的图片剪裁工具类及依赖的jar包
- python骚气表情包_火爆全网!这个 Python 项目很骚气!