QtとC++で画像を表示する!
I wrote: 2016/12/24
QtとC++で画像の表示をやってみました。Qtのバージョンは4.8です。
今までPyQtで画像の表示は結構やってましたが、Qtではやっていませんでした。なので、今回はQtで画像を表示させてみました。ソース的にはPyQtと大きく違いはないかなあと思います。
強いて大きな違いと言えば、画像ファイルを使う場合は、qrcファイルと呼ばれるリソース設定ファイル?を準備して、proファイルと呼ばれるプロジェクトファイルにRESOURCES += image.qrcを追加することかなと思います。
以下はソースです。
/********************
* main.h
*********************/
#include <QWidget> #include <QPaintEvent>
class MainWindow : public QWidget { Q_OBJECT public: MainWindow(QWidget *parent = 0); protected: void paintEvent(QPaintEvent* event); };
/********************
* main.cpp
*********************/
#include <QApplication>
* main.cpp
*********************/
#include <QApplication>
#include <QPixmap>
#include <QPainter>
#include <QPaintEvent>
#include "main.h"
MainWindow::MainWindow(QWidget *parent) : QWidget(parent) {
this->resize(384, 256);
}
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPixmap image(":/img/sample01.jpg");
painter.drawPixmap(0,0,image);
}
int main (int argc, char* argv[]) {
QApplication app(argc, argv);
MainWindow mw;
mw.show();
return app.exec();
}
<qresource prefix="/img">
<file>sample01.jpg</file>
</qresource>
</RCC>