1.1 therecipe/qt简介入门
可以参考文章:
https://www.cnblogs.com/apocelipes/p/9300335.html
环境搭建可以参考: http://doc.feijianshen.com/docs/golangsz/golangsz-1ahnidgm9ev2m
然后本书主要针对在win下开发,linux下暂且不考虑的。
首先你得安装git才可以哦
可能之前没有添加环境变量QT_MSYS2_STATIC,需要再添加一次,不然没有都得先执行export QT_MSYS2_STATIC=true,才可以
QT_DIR
QT_MSYS2_DIR
QT_MSYS2_STATIC
用到什么环境变量就添加环境变量
首先在自己的GitHub上建立文件夹

然后开始写代码,直接借用https://www.cnblogs.com/apocelipes/p/9300335.html的例子
```go
package main
import (
"os"
"github.com/therecipe/qt/core"
"github.com/therecipe/qt/widgets"
)
func main() {
widgets.NewQApplication(len(os.Args), os.Args)
// left sider
splitterLeft := widgets.NewQSplitter2(core.Qt__Horizontal, nil)
textTop := widgets.NewQTextEdit2("左部文本", splitterLeft)
splitterLeft.AddWidget(textTop)
// right sider
splitterRight := widgets.NewQSplitter2(core.Qt__Vertical, splitterLeft)
textRight := widgets.NewQTextEdit2("右部文本", splitterRight)
textbuttom := widgets.NewQTextEdit2("下部文本", splitterLeft)
splitterRight.AddWidget(textRight)
splitterRight.AddWidget(textbuttom)
splitterLeft.SetWindowTitle("splitter")
splitterLeft.Show()
widgets.QApplication_Exec()
}
进行编译,可能速度有些慢qtdeploy build desktop ../1.1/
https://github.com/kitech/qt.go/
这种方法,主要是解决编译速度问题,编译占用内存资源大的问题。
这是与现在therecipe/qt和go-qt绑定相比的,当前这种方式,编译过程时需要实时编译很多的C++代码,并且链接Qt5的库,所以特别慢,并且占用内存多,完全把go的编译速度优势丢失了。
这种新的方式,是使用libffi直接加载.so,而不是链接的方式编译,所以go binding编译时的速度会加快。在最近的实现版本中,qt5 for go binding的代码中已经完全不包含C/C++代码,不需要在.go文件引入cgo,编译过程达到原生go的速度。
基本测试,编译therecipe/qt的基本包,需要30分钟以上,最大使用内存达到3G。而编译该绑定的go库,只需要不到10分钟,内存占用最大1G。两者皆是原来的1/3,效果明显。特别是在使用go绑定做实际开发过程中,节省的编译时间也大大减少。同时最终编译得到的文件大小同样也会小很多。