您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

【树莓派】 Qt 界面 点灯

文章目录

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

一、安装QT5和QT Creator

// 安装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、widget.ui添加两个按钮 改名为b1,b2
在这里插入图片描述
右键按钮 转到槽
在这里插入图片描述
在这里插入图片描述
这里都选clicked()

这样就可以在两个clicked 加入点亮LED和熄灭LED的代码,就可以实现按钮控制了

在这里插入图片描述

4、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 <QWidget>

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

三、运行效果

在这里插入图片描述
最终是实现了功能,实物这里就不展示了 偷懒,嘻嘻。

总结:这里只是简单展示了一下树莓派Qt编程,可能看的云里雾里的,学习Qt还是要系统性的学,PC端也可以学,树莓派下,Ctrl +Shift +C和Ctrl +Shift +V 才能复制黏贴文本,着实不习惯。

参考文档:

树莓派3QT+wiringPI控制GPIO输入和输出
树莓派系列-6-Qt控制树莓派GPIO(3B V1.2)


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进