您现在的位置是:网站首页> C/C++

树莓派Qt相关开发技术收集

  • C/C++
  • 2024-12-15
  • 1105人已阅读
摘要

树莓派Qt相关开发技术收集


树莓派3B--Qt中使用wiringPi来开发工程

树莓派第一个QT程序

树莓派学习笔记——wiringPi使用

树莓派旋转屏幕

树莓派3B+配置QT5开发环境

树莓派安装windows远程

树莓派C所在的库和include

QT Quick在liunx



树莓派3B--Qt中使用wiringPi来开发工程

按照上一篇安装好wiring Pi后,然后开始建立Qt工程。

1、 .Pro文件中配置如下

//

# 下面这个LIBS很关键

LIBS += -lwiringPi

//

1.jpeg

 

 

2、添加对应的头文件

 

#include <wiringPi.h>

#include <wiringSerial.h>

 

 2.jpeg


 

 

 

然后开发就行,具体可看下一篇。



树莓派第一个QT程序

我的QT第一个程序MyQT

MyQT.pro添加库

LIBS += -lwiringPi

1.png

mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H


#include <QMainWindow>

#include <wiringPi.h>


namespace Ui {

class MainWindow;

}


class MainWindow : public QMainWindow

{

    Q_OBJECT


public:

    explicit MainWindow(QWidget *parent = 0);

    ~MainWindow();


private slots:

    void on_pushButton_clicked();


    void on_pushButton_2_clicked();


    void on_pushButton_3_clicked();


    void on_pushButton_4_clicked();


private:

    int LEDPort;

    Ui::MainWindow *ui;

};


#endif // MAINWINDOW_H

mainwindow.cpp

include "mainwindow.h"

#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :

    QMainWindow(parent),

    ui(new Ui::MainWindow)

{

    LEDPort=5;

    ui->setupUi(this);

    wiringPiSetup();

    pinMode(LEDPort,OUTPUT);

}


MainWindow::~MainWindow()

{

    delete ui;

}


void MainWindow::on_pushButton_clicked()

{

    this->setWindowFlags (Qt::Window);

    this->showFullScreen ();

}


void MainWindow::on_pushButton_2_clicked()

{

    this->setWindowFlags (Qt::SubWindow);

    this->showNormal ();

}


void MainWindow::on_pushButton_3_clicked()

{

    digitalWrite(LEDPort,HIGH);

}


void MainWindow::on_pushButton_4_clicked()

{

    digitalWrite(LEDPort,LOW);

}



树莓派学习笔记——wiringPi使用

wiringPi是一个很棒的树莓派IO控制库,使用C语言开发,提供了丰富的接口:GPIO控制,中断,多线程,等等。java 的pi4j项目也是基于wiringPi的,我最近也在看源代码,到时候整理好了会放出来的。

下面开始wiringPi之旅吧!

 

安装

进入  wiringPi的github (https://git.drogon.net/?p=wiringPi;a=summary) 下载安装包。点击页面的第一个链接的右边的snapshot,下载安装压缩包。

然后进入安装包所在的目录执行以下命令:

>tar xfz wiringPi-98bcb20.tar.gz   //98bcb20为版本标号,可能不同

>cd wiringPi-98bcb20

>./build

 

验证wiringPi的是否安装成功,输入gpio -v,会在终端中输出相关wiringPi的信息。否则安装失败。 

C语言操作的是wirePI角

1.png


树莓派旋转屏幕

注:带有【实用手记】标题的文章主要用于临时备忘,内容不甚详尽,但之后也会视需要对相关知识进行完善。
有时候我们在树莓派上进行开发,需要让屏幕旋转90°放置,这样的话我们需要对显示内容也进行旋转。
打开终端,修改树莓派的config.txt文件:
sudo gedit /boot/config.txt
如果需要屏幕内容顺时针旋转90°,那么在config.txt文件里添加以下内容:
display_rotate=1
display_rotate是用于设置屏幕旋转角度的,设置参数如下:
#display_rotate=0        Normal#display_rotate=1        90 degrees#display_rotate=2        180 degrees#display_rotate=3        270 degrees
建议在加入修改的内容时顺便把上面四行注释也一起写入以备忘。
更行
sudo apt-get update 
sudo apt-get install gedit-gmate                 
sudo apt-get install gedit-plugins               
sudo apt-get remove gedit 
sudo apt-get install gedit



树莓派3B+配置QT5开发环境

执行如下步骤:
1.命令行输入:sudo apt-get update
2.命令行输入:sudo apt-get upgrade
3.命令行输入:sudo rpi-update
4.命令行输入:sudo apt-get install qt5-default
5.命令行输入:sudo apt-get install qtcreator
6.命令行安装cmake  sudo apt-get install cmake
如果之前安装过
配置

工具 ->选项

1.png


2.png

3.png

4.png

5.png


网络安装

// 安装前一定要更新

sudo apt-get update

sudo apt-get upgrade 

// 安装QT的基本库

sudo apt-get install qt5-default        

// 安装QT的IDE

sudo apt-get install qtcreator

 // 安装QtQuick库

sudo apt-get install qtdeclarative5-dev 

 // 安装QtMultimedia库

sudo apt-get install qtmultimedia5-dev 

sudo apt-get install libqt5multimedia5-plugins

 // 安装QtMySQL库

sudo apt-get install  libqt5sql5-mysql 

// 安装串口运行库

sudo apt-get install libqt5serialport5

// 安装串口开发包

sudo apt-get install libqt5serialport5-dev



树莓派安装windows远程

树莓派安装windows远程
sudo apt-get install xrdp
添加用户 sudo adduser xn
查看IP地址:
$hostname -I



树莓派C所在的库和include

树莓派C所在的库和include,可能是由于内容开始是网络地址(http://...)完整的英文词截取后不能换行造成 为避免代码造成手机端排版的混乱,可适当增加文字描述,将代码往后推移
/usr/include
/usr/lib
/usr/local/include
/usr/local/lib



QT Quick在liunx

QT Quick在liunx上的可看/usr/lib/arm-linux-gnueabihf/qt5/qml/Quick
树莓派上的QT
import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.0  
ApplicationWindow {    
visible: true;    
width: 640;    
height: 480;  
  title: qsTr("Hello World")  
   Rectangle{    
    anchors.fill: parent;    
     RowLayout{          
  id:list;            
anchors.top: parent.top;    
       anchors.topMargin:20;        
    anchors.left: parent.left;            
anchors.right: parent.right;          
  anchors.leftMargin:10;      
      anchors.rightMargin:10;    
       spacing: 20;            
Button{            
    id:open;        
       text:"打开";        
    }          
  Button{    
           id:save;      
          text:"Save";        
    }        
   Button{        
        id:close;      
         text:"Close";      
          Layout.fillWidth: true;      
       }      
  }  
 }
   }














Top