windows下安裝QT並與visual studio 2017搭建開發環境數據庫
選擇:QT VS Tools->Open Qt Project File(.pro)…windows
一、選擇:文件->新建->項目->測試->Qt GUI Application,輸入工程名,下一步…進行新建。網絡
二、「next」下一步函數
三、選擇依賴的模塊:最基礎的QtCore、QtGui、QtWidgets還有一些音/視頻、網絡、數據庫、XML、OpenGl相關的模塊,須要使用的直接勾選便可。post
四、finish(具體設置之後有機會在寫)測試
一、 選擇test.ui -> 打開方式 -> Qt Designer -> 肯定ui
二、 拉一個OPenGL控件到窗體上this
三、 改控件名字爲mat->在對象查看器中選中控件——>右鍵選擇提高爲...url
四、 提高的類名稱:MatView -> 點擊添加 ->提高 -> ctrl + F 保存界面 ,以下圖
五、 Header Files右鍵 -> 類導向 -> 添加類 -> 類命:MatView -> 完成 -> 確認,以下圖
六、點擊添加類
七、點擊應用並肯定
八、 MatView.h代碼
#pragma once //導入相應的庫 #include <QOpenGLWidget> //繼承QOpenGLWidget class MatView :public QOpenGLWidget { Q_OBJECT public: //構造函數 MatView(QWidget *p); ~MatView(); //重載一個函數 void paintEvent(QPaintEvent *e); };
九、 MatView.cpp代碼
#include "MatView.h" #include<opencv2/core.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/imgcodecs.hpp> #include <QImage> #include <QPainter> using namespace cv; //重載一個函數,只要窗口發生變化他都會調用,這個函數不能處理業務邏輯,只作處理圖像 void MatView::paintEvent(QPaintEvent *e) { Mat src = imread("D://1.jpg"); QImage img(src.data, src.cols, src.rows, QImage::Format_RGB888); QPainter painter; painter.begin(this); painter.drawImage(QPoint(0, 0), img); } //構造函數,調用父類的,由於父類還有處理在裏面,因此要調用它 MatView::MatView(QWidget *p) :QOpenGLWidget(p) { } MatView::~MatView() { }
十、 main.cpp代碼不用改動
![](http://static.javashuo.com/static/loading.gif)
十一、 導入OpenCV庫,參照windows基於vs2017的opencv安裝
十二、 運行代碼
代碼不重要,重要是如何配置,直接運行代碼,可能由於系統+環境不一樣出錯
1三、 效果圖