- 一、安装QT5和QT Creator
- 二、编写控制代码
- 三、运行效果
- 参考文档:
这里只安装QT基础的部分,还有其他模块。
// 安装QT的基本库 sudo apt-get install qt5-default // 安装QT的IDE sudo apt-get install qtcreator //新的树莓派如4B, 需更新wiringpi(控制IO库) cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb
验证wiringpi 安装是否成功
执行gpio readall
可以看到很直观的看到IO的IO模式,是输出还是输入。
另外编程时需要使用的 IO端口号也列出来的,这里使用wiringpi 控制的话 关注wpi那列的端口,和python使用RPi库控制IO编号不一样。
1、新建工程
2、选择QWidget
3、pro工程添加LIBS += -lwiringPi
4、widget.ui添加两个按钮 改名为b1,b2
右键按钮 转到槽
这里都选clicked()
这样就可以在两个clicked 加入点亮LED和熄灭LED的代码,就可以实现按钮控制了
5、widget.cpp 写入完整的IO控制代码
这里我们使用pin12,也就是对应wpi 1的口
widget.cpp 完整代码:
#include "widget.h"
#include "ui_widget.h"
#include "wiringPi.h"//添加头文件
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
wiringPiSetup();//初始化
pinMode(1,OUTPUT); //PIN12 use "gpio readall" get status
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_b1_clicked()
{
digitalWrite(1,HIGH);
}
void Widget::on_b2_clicked()
{
digitalWrite(1,LOW);
}
widget.h 完整代码 (这里添加槽函数是刚才转到槽自动处理的,不需要手动修改)
#ifndef WIDGET_H #define WIDGET_H #include三、运行效果namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = nullptr); ~Widget(); private slots: void on_b1_clicked(); void on_b2_clicked(); private: Ui::Widget *ui; }; #endif // WIDGET_H
点击运行
编译没有报错就是OK
可以看到已经生成了可执行文件
界面如图:
点击ON和OFF,灯实现了亮灭,实现了功能,实物这里就不展示了, 偷懒,嘻嘻。
总结:这里只是简单展示了一下树莓派Qt编程,可能看的云里雾里的,学习Qt还是要系统性的学,PC端也可以学,树莓派下,Ctrl +Shift +C和Ctrl +Shift +V 才能复制黏贴文本,着实不习惯。另外提一句 怎么这里wiringPI的代码一股Arduino的味道 一v一
参考文档:树莓派3QT+wiringPI控制GPIO输入和输出
树莓派系列-6-Qt控制树莓派GPIO(3B V1.2)



