Linux环境QT编程
由于课程需要,需要在 Linux 环境下开发 QT 程序,因此开一篇文章来记录QT的知识点。
Ubuntu 16.04 QT安装
由于实验室和课程安排都是基于 QT4,因此这里安装QT4
1 | sudo apt install qt4* |
QT 基本操作
屏幕自适应
先布局一个 layout,然后在全局框里,设置 layout
用以下代码自动全屏
1 | QDesktopWidget* desktopWidget = QApplication::desktop(); |
显示图片
- 布局一个 label
- 头文件添加
#include <QPixmap>
- 构造函数添加
ui->label->setPixmap("0.png")
定时器
- 主类声明一个指针 public: 下,
QTimer *display_timer;
- 头文件添加
#include <QTimer>
- 构造函数添加
1 | display_timer = new QTimer(this); |
- 头文件 public slots: 声明
doChange();
- 实现
doChange();
函数
1 | void MainWindow::doChange(){ |
- 使用
display_timer->start(1000);
来开启定时器 - 使用
display_timer->stop(1000);
来关闭定时器
实验室环境QT交叉编译
将QT程序编译成实验室开发板 ARM-linux 下能执行的程序。
将工程文件拷贝到编译目录
1 | cp myproject /usr/local/Trolltech/QtEmbedded-4.8.5-arm/examples/ -a |
执行 qmake
这一步主要是生成 Makefile
实验室里为了区分,把 qmake 命令换成了 qmake-arm
1 | qmake-arm |
执行 make
1 | make |
make完成后,可执行文件就生成了。通过串口传输到ARM实验箱上。
串口连接过程略。
串口:本地 -> ARM
1 | rx myAPP |
选择 传输 -> 发生 Xmodem
解决ARM实验箱的坑
kill掉以下三个进程
1
2
3/opt/Qtopia/bin/qpe
/opt/Qtopia/bin/qss
/opt/Qtioua/bin/quicklauncher初始化环境变量
1 | . setqt4env # 不要漏了中间的空格 |
- 运行
1 | ./myApp -qws |