Qt在win10&樹莓派上的安裝配置
阿新 • • 發佈:2018-12-16
Qt5+opencv顯示影象的簡單程式
一、win10上Qt5.11.2與VS2015的安裝配置
(一)安裝Qt5.11.2
- 官網下載Qt5.11.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影象顯示程式
- qt配置opencv
新建專案
在.pro檔案中新增程式碼(opencv的幾個路徑)
- 編寫程式內容
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顯示圖片