栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【树莓派】 Qt 界面 点灯

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【树莓派】 Qt 界面 点灯

文章目录
    • 一、安装QT5和QT Creator
    • 二、编写控制代码
    • 三、运行效果
    • 参考文档:

一、安装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)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号