Qtで画像を扱いたい
そのために以下のコードを書きました。
(※そもそも下記のコードが正しいか分からないです。)
Qt
1#pragma once 2 3#include <QtWidgets/QMainWindow> 4#include "ui_HelloWorldVS.h" 5 6#include <QGraphicsView>// 7#include <QtGui>// 8 9class HelloWorldVS : public QMainWindow 10{ 11 Q_OBJECT 12 13public: 14 HelloWorldVS(QWidget *parent = Q_NULLPTR); 15 16private: 17 Ui::HelloWorldVSClass ui; 18 19}; 20 21/*↓*/ 22#include <QQuickImageProvider> 23 24#include <QObject> 25 26class Filter : public QObject, public QQuickImageProvider 27{ 28 Q_OBJECT 29private: 30 int _kernelRadius; // フィルター半径 31 32public: 33 Filter(QObject *parent); 34 ~Filter(); 35 36 // フィルター半径のセット 37 Q_INVOKABLE void setKernelRadius(int radius); 38 39 QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize); 40 41signals: 42 43public slots: 44 45}; 46 47/*↓*/ 48class MyGraphicsView : public QGraphicsView 49{ 50 Q_OBJECT 51public: 52 MyGraphicsView(QWidget *pWnd); 53 ~MyGraphicsView(void); 54 55 void setImg(QImage &img); 56private: 57 void paintEvent(QPaintEvent *event); 58 59 QImage m_img; 60 61 void MyGraphicsView::paintEvent(QPaintEvent *event) 62 { 63 QPainter widgetpainter(viewport()); 64 widgetpainter.setWorldTransform(m_matrix); 65 66 QImage qimg = m_img.scaled( 67 viewport()->width(), 68 viewport()->height(), 69 Qt::KeepAspectRatio, Qt::FastTransformation); 70 widgetpainter.drawImage(0, 0, qimg); 71 } 72 void MyGraphicsView::setImg(QImage &img) 73 { 74 m_img = QImage(img); 75 viewport()->update(); 76 } 77}; 78 79 80
発生している問題・エラーメッセージ
1>------ ビルド開始: プロジェクト: HelloWorldVS, 構成: Debug x64 ------ 1>Uic'ing HelloWorldVS.ui... 1>Moc'ing HelloWorldVS.h... 1>moc_HelloWorldVS.cpp 1>HelloWorldVS.cpp 1>main.cpp 1>c:\users\user\source\repos\helloworldvs\helloworldvs\helloworldvs.h(22): fatal error C1083: include ファイルを開けません。'QQuickImageProvider':No such file or directory (ソース ファイルをコンパイルしています main.cpp) 1>c:\users\user\source\repos\helloworldvs\helloworldvs\helloworldvs.h(22): fatal error C1083: include ファイルを開けません。'QQuickImageProvider':No such file or directory (ソース ファイルをコンパイルしています GeneratedFiles\Debug\moc_HelloWorldVS.cpp) 1>c:\users\user\source\repos\helloworldvs\helloworldvs\helloworldvs.h(22): fatal error C1083: include ファイルを開けません。'QQuickImageProvider':No such file or directory (ソース ファイルをコンパイルしています HelloWorldVS.cpp) 1>プロジェクト "HelloWorldVS.vcxproj" のビルドが終了しました -- 失敗。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
試したこと
include文を書く場所を変えたりしてみましたが効果なしです。
補足情報(FW/ツールのバージョンなど)
Qt 5.12.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/05/23 08:31
2019/05/23 08:37
退会済みユーザー
2019/05/24 02:40
2019/05/24 03:34