如何在 ubuntu linux 上配置 go 语言的 qt 开发环境

 更新时间:2020年5月11日 09:03  点击:1548

go语言是开发效率极高、运行速度也接近C程序的现代编程语言,qt是跨平台的优秀gui库,二者结合起来工作表现非常优秀。本文讲的有两个事情,第一个是安装go语言的qt绑定包,第二个是安装go语言的集成开发环境。

安装github.com/therecipe/qt包

本段介绍的是如何安装和配置github.com/therecipe/qt开发包,这是一个非常优秀的qt库的go语言绑定,它非常强大,完美支持QT的信号槽机制,而且它的API完全模仿C++,所以你可以直接参考官方的QT C++文档。

我介绍的配置方法是绑定系统环境的qt库,而不是按照默认安装方式那样使用作者提供的qt库,这样做的好处是编译后的程序占用硬盘比较小,否则最小的程序体积都要超过30M。

第一步、下载github.com/therecipe/qt的源代码

此处假定你已经安装了go编译器,不再介绍怎么安装它了。因为github.com/therecipe/qt这个包必须在GOPATH模式下安装和配置,众所周知我们国内访问github速度实在太慢,所以如果直接用go get命令自动下载安装基本是行不通的。我用码云帐号fork了这个包,所以我们可以从这个地址用git clone命令下载:https://gitee.com/rocket049/qt。具体操作如下:

git
mkdir -p $(go env GOPATH)/src/github.com/therecipe
cd $(go env GOPATH)/src/github.com/therecipe
git clone --depth 1 https://gitee.com/rocket049/qt

第二步、在ubuntu中安装qt的开发库

apt命令下载所有的qt开发库,只需要运行下面的命令:

sudo apt-get --no-install-recommends install libqt*5-dev qt*5-dev qml-module-qtquick-* qt*5-doc-html

第三步、编译开发工具套件

只需要运行下面的命令:

go get -v -tags=no_env github.com/therecipe/qt/cmd/...

第四步、编译绑定编辑${HOME}/.bashrc,在其中添加2行:

export QT_PKG_CONFIG=true
#下面的是ubuntu18.04的QT_API版本,如果ubuntu版本不同,你应该自己查看你系统里的qt版本,然后填入相应的版本号
export QT_API=5.9.0

查看qt版本的方法是:运行apt-cache show libqt5core5a,找到你的qt版本号,注意QT_APT版本号的最后一位就写0,不要照抄qt版本号。

  • 运行命令导入.bashrc. .bashrc,或者重新打开终端。
  • 运行安装命令:$(go env GOPATH)/bin/qtsetup。因为qt库是非常庞大的,编译很费时间,请耐心等待,只要成功完成了install这一步就好了,后面的test过程可以直接CTRL-C结束(而且有些测试程序无法编译通过,因为最新版本有少许API发生了变化),不影响使用。

安装liteide集成开发环境

我的体验过vimvscodeliteide三种开发环境,结论是liteide是最好的,为此我还给liteide的作者付了钱,非常感谢作者“七叶”。github上的项目地址是:https://github.com/visualfc/liteide,他的主页是:http://liteide.org/

为什么我说它最好,就因为在使用github.com/therecipe/qt这个开发包的时候它表现得最好,这个包非常庞大,但是使用liteide编程时,自动提示非常迅速,基本没有延迟,然而使用其他两个编辑器的时候,显示提示信息时都有明显的停顿,vim的表现尤其差,这是因为它现在只能使用新的gopls作为提示信息的后台程序,然而它性能非常差。

安装liteide非常简单,我们就从作者提供的下载地址选一个最快的下载,然后解压缩到/opt目录,然后做一个启动器在桌面上就可以用了,具体方法如下:

把下载的压缩包解压缩到/opt

cd /opt
sudo tar xvfz /你的/保存/路径/liteide-xxx.tar.gz

编辑启动器,在桌面建立文件liteide.desktop,然后用编辑器打开,输入下面的内容:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/opt/liteide/share/liteide/welcome/images/liteide128.xpm
Exec=/opt/liteide/bin/liteide
Name=Liteide
Comment=Lite ide

然后赋予它启动权限,在桌面打开终端,输入赋权命令:chmod +x liteide.desktop

到这里本文就结束了,感谢耐心阅读。

到此这篇关于如何在 ubuntu linux 上配置 go 语言的 qt 开发环境的文章就介绍到这了,更多相关 ubuntu go 语言 qt 开发环境内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

[!--infotagslink--]

相关文章

  • Go应用中优雅处理Error的技巧总结

    在程序员中,尤其是go新手,经常听到的一个讨论话题是:如何处理错误,这篇文章主要给大家介绍了关于Go应用中优雅处理Error的一些相关技巧,需要的朋友可以参考下...2021-09-08
  • Django def clean()函数对表单中的数据进行验证操作

    这篇文章主要介绍了Django def clean()函数对表单中的数据进行验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-09
  • mac下Apache + MySql + PHP搭建网站开发环境

    首先为什不自己分别搭建Apache,PHP和MySql的环境呢?这样自己可以了解更多知识,说起来也更酷。可也许因为我懒吧,我是那种“既然有现成的,用就是了”的人。君子生非异也,善假于物也。两千年前的荀子就教导我们,要善于利用工具...2014-06-07
  • golang官方嵌入文件到可执行程序的示例详解

    这篇文章主要介绍了golang官方嵌入文件到可执行程序,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-20
  • go浮点数转字符串保留小数点后N位的完美解决方法

    这篇文章主要介绍了go浮点数转字符串保留小数点后N位解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-11
  • Qt 使用Poppler实现pdf阅读器的示例代码

    下面小编就为大家分享一篇Qt 使用Poppler实现pdf阅读器的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-25
  • Go语言使用读写OPC详解

    这篇文章主要介绍了Go语言使用读写OPC详解,图文讲解的很清晰,有感兴趣的同学可以学习下...2021-03-05
  • Ubuntu 系统下安装Android开发环境 Android Studio 1.0 步骤

    Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,可以在Linux,Mac OS X,Window...2016-09-20
  • 将matplotlib绘图嵌入pyqt的方法示例

    这篇文章主要介绍了将matplotlib绘图嵌入pyqt的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-27
  • Go项目的目录结构详解

    这篇文章主要介绍了Go项目的目录结构,对基础目录做了讲解,对项目开发中的其它目录也一并做了介绍,需要的朋友可以参考下...2020-05-01
  • 如何使用VSCode配置Rust开发环境(Rust新手教程)

    这篇文章主要介绍了如何使用VSCode配置Rust开发环境(Rust新手教程),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-27
  • Go中string与[]byte高效互转的方法实例

    string与[]byte经常需要互相转化,普通转化会发生底层数据的复制,下面这篇文章主要给大家介绍了关于Go中string与[]byte高效互转的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下...2021-09-20
  • Go 容器遍历的实现示例

    Go 语言提供的基础容器,免不了要查询容器中的数据,那么是如何实现遍历的呢?本文将会介绍几种常用容易的遍历及其使用。感兴趣的可以了解一下...2021-06-13
  • Ubuntu Server 18.04.5 LTS服务器版安装配置图解教程

    Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 18.04.5 LTS的详细安装过程,需要的朋友可以参考下...2021-02-01
  • 创建第一个Go语言程序Hello,Go!

    这篇文章主要介绍了创建第一个Go语言程序Hello,Go!本文详细的给出项目创建、代码编写的过程,同时讲解了GOPATH、Go install等内容,需要的朋友可以参考下...2020-05-01
  • 在Django中使用MQTT的方法

    这篇文章主要介绍了在Django中使用MQTT的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-10
  • go语言中的Carbon库时间处理技巧

    这篇文章主要介绍了go语言中的Carbon库时间处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • Qt定时器和随机数详解

    在前一篇中我们介绍了键盘和鼠标事件,其实还有一个非常常用的事件,就是定时器事件,如果要对程序实现时间上的控制,那么就要使用到定时器。而随机数也是很常用的一个功能,在我们要想产生一个随机的结果时就要使用到随机数。本文我们就来简单介绍一下定时器和随机数。...2020-04-25
  • 详谈Ubuntu PowerShell(小白入门必看教程)

    下面小编就为大家带来一篇详谈Ubuntu PowerShell(小白入门必看教程)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-30
  • go嵌套匿名结构体的初始化详解

    这篇文章主要介绍了go嵌套匿名结构体的初始化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-16