1. 程式人生 > >Qt在win10&樹莓派上的安裝配置

Qt在win10&樹莓派上的安裝配置

Qt5+opencv顯示影象的簡單程式

一、win10上Qt5.11.2與VS2015的安裝配置

(一)安裝Qt5.11.2

  1. 官網下載Qt5.11.2
  2. 安裝過程參考:Qt5.11.1安裝與VS2017配置
    (只在選擇元件時替換為VS2015版本)

(二)Qt與VS2015關聯

配置過程參考:Qt5.11.1安裝與VS2017配置 與其完全相同

(三)配置環境變數

Qt VS Tools——>Qt Options
在這裡插入圖片描述
點選Add 新增msvs2015_64的路徑
在這裡插入圖片描述
開啟系統環境變數
在Path中 新增 Qt安裝位置的msvs2015_64\bin路徑
在這裡插入圖片描述

(四)測試

新建專案
在這裡插入圖片描述
在解決方案資源管理器中 雙擊同名的.ui檔案
在這裡插入圖片描述
彈出Qt介面 隨便拖置一個label並儲存
在這裡插入圖片描述
回到vs介面儲存並執行 成功執行
在這裡插入圖片描述

二、樹莓派3B+安裝Qt5

(一)安裝

用命令列進行安裝:
更新庫檔案
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
正式安裝
sudo apt-get install qt5-default
sudo apt-get install qtcreator

(二)配置

開啟Qt——>Tools——>Options
在這裡插入圖片描述
Compilers——>add——>gcc 配置如下
在這裡插入圖片描述
找到gcc的路徑(/usr/bin/gcc)
ABI選擇arm-linux-generic-elf-32bit
在這裡插入圖片描述
測試是否安裝成功
gcc -v
在這裡插入圖片描述
g++ -v
在這裡插入圖片描述
配置Kits
Compiler 選擇gcc
Debugger 設為System GDB at/usr/bin/gdb
在這裡插入圖片描述
配置完成

三、Qt+opencv影象顯示程式

  1. qt配置opencv
    新建專案
    在這裡插入圖片描述
    在.pro檔案中新增程式碼(opencv的幾個路徑)
    在這裡插入圖片描述
    在這裡插入圖片描述
  2. 編寫程式內容
    Mainwindow.ui:

    放置一個pushbutton,為他新增click()函式,編寫程式碼
    在這裡插入圖片描述
    Main.cpp:
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

Mainwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLabel>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
}

void MainWindow::on_OpenImage_clicked()
{
    image = cv::imread("p1.jpg");
        cv::cvtColor(image, image, CV_RGB2RGBA);
        QImage img = QImage((const unsigned char*)(image.data),
            image.cols, image.rows, QImage::Format_RGB32);
        QLabel *label = new QLabel(this);
        label->move(210, 50);
        label->setPixmap(QPixmap::fromImage(img));
        label->resize(label->pixmap()->size());
        label->show();
}
void MainWindow::on_pushButton_clicked()
{
}

Mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>

#include <opencv2/opencv.hpp>
#include <opencv/cv.h>
#include <opencv2/core/core.hpp>
#include <opencv/highgui.h>
#include <opencv2/highgui/highgui.hpp>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
    cv::Mat image;   //定義私有變數 image
    cv::Mat result;//定義私有變數 result

    private slots:    //宣告訊號函式
    void on_OpenImage_clicked();

};

#endif // MAINWINDOW_H

執行效果:
在這裡插入圖片描述
點選pushbutton顯示圖片
在這裡插入圖片描述