,转载 https://blog.csdn.net/lanbery/article/details/81745611

如果你是一个墨守成规的coding,请移步其他内容,这部分内容可能不适合你。如果你希望到外面看看,感受新鲜的技术以及自由自在的氛围,请继续。当然你也要付出一定的精力去学习如何FQ,因为很多知识需要跳一跳出去看看(其实外面的世界还是很精彩的)。好了,废话不说了,进入正题。

Qt是什么?

QT是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。Qt使用于OPIE、Skype、VLC media player、Adobe Photoshop Elements、VirtualBox与Mathematica以及被Autodesk、欧洲空间局、梦工厂、Google、HP、KDE、卢卡斯影业、西门子公司、沃尔沃集团, 华特迪士尼动画制作公司、三星集团、飞利浦、Panasonic 所使用。

它是Digia公司的产品。Qt使用标准的C++和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏。通过语言绑定,其他的编程语言也可以使用Qt。

以上摘自维基百科。

2008年,Qt Company科技曾经被诺基亚公司收购,Qt也因此成为诺基亚旗下的编程语言工具,所有不知道有人是否还记得当初Nokia曾经推出过一款手机同步软件,一坨绿的能够同步通讯录、发信息等等功能就是基于Qt这货开发的,Nokia甚至连开发工具的风格都是在那个阶段定型的。

使用Qt开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。这是Qt最大的特点,同时这也是导致Qt的安装文件高达2.7GB的原因。

想了解更多请穿越Qt官网

Qt 模块结构

QT+ Golang开发环境

window下搭建Qt + Go 开发环境需要做以下工作:

  1. Golang安装,参见Golang官网

  2. 配置Go环境变量:GOROOT(Golang安装路径)和GOPATH(go项目工作区)

  3. 安装Qt,两种方式(这里采用MSYS2方式):

    • 官方版本安装

    • MSYS2 安装

  4. 获取Qt go语言支持package: github.com/therecipe/qt

  5. 运行setup

Go 安装与环境变量设置

golang安装,各位可以百度,教程很多,这里不详细讲解。重点介绍一下window Go环境变量GOROOT和GOPATH。GOROOT 配置你go所安装的目录,GOPATH 配置你将来要编写go项目的根目录,顺便介绍一下go项目的目录结构。

Golang项目目录下一般有三个子目录

  • src 存放源码

    • package A

      • a1.go

        • AA

          • aa1.go

    • package B

      • b1.go

      • b2.go

      • main.go

  • pkg 编译后生成的文件

  • bin 编译后生成的可执行文件

-----------------------------------------------------------------------------------------------

以上是golang项目的目录结构,golang不像java项目那种组织方式,java中每个项目都有src、resource、lib、target\classes...等等
而golang则是把每个项目的生成的可执行文件同一放到工作区(即GOPATH\bin)bin下.配置环境变量时注意这一点就可以了,不然在编译项目时查找编译结果也比较麻烦了。
上面的src不仅有你编写的Golang代码,同时还有你代码依赖其他项目的源码(下图是我本地代码库)。

GOPATH目录结构

MSYS2安装

安装MSYS2前,简单介绍一下MSYS2。MSYS2是MinGW的子项目,MinGW (Minimalist GNU for Windows)又称mingw32,是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。

  • 下载MSYS2

  • 安装MSYS2,官网有详细的安装步骤说明。这里提示一下,你的安装路径最好安装在有足够剩余空间的盘符目录下,因为后续所有基于MSYS2文件个安装都会在这个根目录下。

  • 配置环境变量QT_MSYS2_DIR=%MSYS Home%/msys64

  • Open a MinGW shell 

  • pacman -Syyu 更新MinGW

  • 安装Qt动态发布链接库: pacman -S mingw-w64-x86_64-qt-creator mingw-w64-x86_64-qt5

  • 安装Qt静态链接库:pacman -S mingw-w64-x86_64-qt-creator mingw-w64-x86_64-qt5-static

  • pacman -Scc 清理安装包

  • 设置和部署 export QT_MSYS2_ARCH=amd64

获取Qt go语言支持package

获取Qt 资源包:在cmd命令窗口执行 go get -v github.com/therecipe/qt/cmd/...

qtsetup

上面操作都完成后,你的GOPATH/bin下应该多出:qtdeploy.exe,qtrcc.exe,qtsetup.exe等等可执行文件。执行qtsetup.exe[就可以安装了。注意:时间比较长,网络可能需要出国]

QT +go 开发 GUI程序的更多相关文章

  1. ROS:使用Qt Creator创建GUI程序(一)

    开发环境: Ubuntu14.04 ROS indigo version Qt Creator 3.0.1 based on Qt 5.2.1 步骤如下:(按照下面命令一步步来,亲测可行) (一)安装 ...

  2. 笔记: c开发gui程序 (WM_CREATE, WS_CLIPCHILDREN , SetWindowPos)

    过去两年,用c写的gui程序我一般使用的套路是: 在 winMain()中, 先创建一个主窗口, 紧接着就是在下面创建子窗口(子控件). 可能是因为写这方面的程序较少,所以也没遇到什么大问题,之前就是 ...

  3. 〖Linux〗Qt+gsoap开发客户端程序,服务端地址设定的字符串转换处理

    之所以写出来,是由于经常因为这个问题屡屡丢面子.. 一般情况下,QString转换成(char*),我们一般直接使用: char *str = qstr->text().toLatin1().d ...

  4. Qt Creator开发的程序提升到管理员权限运行

    一些功能需要管理员权限,例如启动一个服务,这就需要exe在管理员权限下运行,一个方法是在exe上右键,选择“以管理员身份运行”,或者右键-属性-兼容性-勾选“以管理员身份运行此程序” 另一个方法是在程 ...

  5. 树莓派入门教程——使用Qt开发界面程序

    前言        Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特 ...

  6. 客户端GUI程序开发漫谈

    这篇文章包含了这个领域的很多开源项目的介绍,还有我多年来的心血和汗水  去年夏天的时候,我用QT做了一个小工具 后来还用QT做了流程设计器 我把程序分享给飞扬青云之后,他甚至搞出来一套QT的皮肤来 说 ...

  7. atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform

    atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform 1. Absoluti 布局(经常使用) 1 2. ...

  8. Qt官方开发环境生成的exe发布方式--使用windeployqt(windeployqt是单独的程序,放在低版本qt4目录下也可以运行的)

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行.因此 Qt 官方开发环境里自带了一个 ...

  9. Qt跨平台开发Wince5.0和Android程序

    所谓跨平台是指维护一份代码,可编译出多平台的应用程序.Qt这方面虽然已经做的不错,但性能还是体验,和原生开发工具开发的程序相比,差距还是不小的.但单从生产应用的角度来说,可以采用,不失为一种好的解决方 ...

随机推荐

  1. ECS分区挂载数据盘

    地址:https://help.aliyun.com/document_detail/25426.html?spm=5176.11065259.1996646101.searchclickresult ...

  2. window Maven私服搭建——nexus

    注:本文来源于 <window   Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...

  3. Win10 SQL Server 2017安装教程

    Win10 SQL Server 2017安装教程 1:下载地址 2:开始安装 1:安装环境预备说明 还要注意就是要先下载这个VC++的更新,可以解决服务器安装不上的问题,下载链接 :Microsof ...

  4. 访问 Confluence 6 的计划任务配置

    希望访问 Confluence 计划任务配置界面: 进入  > 基本配置(General Configuration) > 计划任务(Scheduled Jobs) 所有的计划任务将会按照 ...

  5. linux下命令窗口中$和#的区别

    $表示现在的用户是普通用户#表示现在的用户是root用户 # 代表你能做任何事$ 代表你能做一些/下和/home目录的所有事

  6. 复习os模块常用的一些操作

    import os # 1.切换路径============= d = os.getcwd() #获取当前的工作路径 os.chdir('D:\\')#目录的切换 print(os.getcwd()) ...

  7. java概念基础笔记整理

    1.构造方法没有类型,有类型的不是不叫构造方法. 2.一个类的的成员变量可以是java允许的任何数据类型,一个类可以把某个对象作为自己的一个成员变量,如果用这样的类创建对象,那么该对象中就会其他对象, ...

  8. bzoj 1076

    发现自己已经把期望dp忘光了... 其实本质上非常简单,就是利用状压的思想跑期望 首先很容易设计出状态:记状态f[s][i]表示到了第i个点,之前已选过的点的状态为s时所能获得的最大期望得分 但是会发 ...

  9. npm run build 打包后(直接打包白屏),如何运行在本地查看效果(Apache服务)

    转载: https://www.cnblogs.com/qiu-Ann/p/7477593.html 目前,使用vue-cli脚手架写了一个前端项目,之前一直是使用npm run dev 在8080端 ...

  10. JSON数据写入和解析

    如何写入JSON 需要第三方jar包,JSON包 //写入json数据 public static String sendJson() { JSONObject json = new JSONObje ...