Qt学习之路 (二)我的第一个第一个qt程序

我们运行qt的环境是linux,并且应用于嵌入式,所以我们的所有代码环境将适用于linux

安装Qtcreator的过程太过于简单这里将不做赘述,我们直接开始安装好Qtcreator之后的
首先点击 这个图标 打开 Qtcreator
在这里插入图片描述

然后我们将看到这样的界面
在这里插入图片描述
我们点击new project然后
按照如图选择
在这里插入图片描述
选择我们的项目名字,以及项目保存的路径
在这里插入图片描述
然后我们要将这个勾勾打上,选择所有的编译器环境
在这里插入图片描述
这个类名我们是可以设置的
在这里插入图片描述
点击finish完成项目创建
在这里插入图片描述
在这里插入图片描述

点击Forms里面的XXX.ui就可以进行界面控件拖拽,可以更好的编程

在这里插入图片描述
拖拽完控件以后,鼠标右键点击go to slot可以跳到槽函数进行相应事件的编程
在这里插入图片描述

在这里插入图片描述
我们在该函数写一个关闭函数调用,点击该按钮的时候将关闭这个窗口

编译,运行
在这里插入图片描述

现在实在x86平台运行的,我们现在要将这个应用移植到开发板中,首先要在开发板中设置Qt运行的环境

$ sudo tar Jxvf Qt-Embedded-5.7.0.tar.xz -C /usr/local/

将已经移植好的包解压然后在Linux中设置环境变量
在这里插入图片描述

sudo vim /usr/local/Qt-Embedded-5.7.0-env

添加内容:



export QTDIR=/usr/local/Qt-Embedded-5.7.0/ 
#export QT_QPA_FONTDIR=$QTDIR/lib/fonts 
export QMAKEDIR=$QTDIR/bin
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 
export PATH=$QMAKEDIR/bin:$QTDIR/bin:/usr/local/arm/5.4.0/usr/bin:$PATH 
#export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins
#export QT_PLUGIN_PATH=$QTDIR/plugins
#export QMAKESPEC=mkspecs/linux-arm-gnueabi-g++  
export QT_SELECT=qt5.7.0-arm

用 source 命令让其在当前终端临时有效

source /usr/local/Qt-Embedded-5.7.0-env

这样还不够,这仅仅是Linux上编译qt到开发板的环境,开发板的运行环境还没有设置

通过 NFS 挂载 Ubuntu 共享的目录到/mnt 下,然后解压移植好的 Qt Qt Embedded 库到 6818 的/usr/local 目录下。
然后解压
设置环境变量
注意 这里设置环境变量指的是 6818 平台里面的 Qt 运行环境变量,在/etc 目录下有个 profile 文件,这个文件是 Linux 系统启动后会自动执行的脚本,我们在这文件末尾添加内容:

export QTDIR=/usr/local/Qt-Embedded-5.7.0 
export PATH=$QTDIR/bin:$PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins 
export QT_QPA_PLATFORM_PATH=$QTDIR/plugins
export QT_QPA_PLATFORM=linuxfb 
export QT_QPA_FONTDIR=/usr/share/fonts
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
 #export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/event0

export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0
 export QMLSCENE_DEVICE=softwarecontext 
export QML2_IMPORT_PATH=$QTDIR/qml

我们在Linux创建的项目是没有Makefile的,我们需要用qmake命令来生成Makefile文件,如果qmake出现一堆的提示的话

说明没有.pro文件,需要用命令qmake -project来生成

接下来就是make,调用GEC6818环境下的交叉编译链去编译生成可执行文件

在这里插入图片描述

这样就设置好了开发版的运行环境已经做好了,接下来将编译好的qt可执行文件传输到开发板就可以运行了

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
详细目录 1. 序 2. Qt 简介 3. Hello, world! 4. 信号槽 5. 自定义信号槽 6. Qt 模块简介 7. MainWindow 简介 8. 添加动作 9. 资源文件 10. 对象模型 11. 布局管理器 12. 菜单栏、工具栏和状态栏 13. 对话框简介 14. 对话框数据传递 15. 标准对话框 QMessageBox 16. 深入 Qt5 信号槽新语法 17. 文件对话框 18. 事件 19. 事件的接受与忽略 20. event() 21. 事件过滤器 22. 事件总结 23. 自定义事件 24. Qt 绘制系统简介 25. 画刷和画笔 26. 反走样 27. 渐变 28. 坐标系统 29. 绘制设备 30. Graphics View Framework 31. 贪吃蛇游戏(1) 32. 贪吃蛇游戏(2) 33. 贪吃蛇游戏(3) 34. 贪吃蛇游戏(4) 35. 文件 36. 二进制文件读写 37. 文本文件读写 38. 存储容器 39. 遍历容器 40. 隐式数据共享 41. model/view 架构 42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. 视图和委托 47. 视图选择 48. QSortFilterProxyModel 49. 自定义只读模型 50. 自定义可编辑模型 51. 布尔表达式树模型 52. 使用拖放 53. 自定义拖放数据 54. 剪贴板 55. 数据库操作 56. 使用模型操作数据库 57. 可视化显示数据库数据 58. 编辑数据库外键 59. 使用流处理 XML 60. 使用 DOM 处理 XML 61. 使用 SAX 处理 XML 62. 保存 XML 63. 使用 QJson 处理 JSON 64. 使用 QJsonDocument 处理 JSON 65. 访问网络(1) 66. 访问网络(2) 67. 访问网络(3) 68. 访问网络(4) 69. 进程 70. 进程间通信 71. 线程简介 72. 线程和事件循环 73. Qt 线程相关类 74. 线程和 QObject 75. 线程总结 76. QML 和 QtQuick 2 77. QML 语法 78. QML 基本元素 79. QML 组件 80. 定位器 81. 元素布局 82. 输入元素 其他文章 宏定义中的 do {…} while (0) C++:在堆上创建对象,还是在栈上?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值