質問

私はQTを初めて使用しており、ボタンがクリックされたら画像を表示する簡単なGUIアプリケーションを作成しようとしています。

で画像を読むことができます QImage オブジェクトですが、を取るQT関数を呼び出す簡単な方法はありますか QImage 入力として、そしてそれを表示しますか?

役に立ちましたか?

解決 4

どうもありがとう、私はそれをする方法を見つけました、それはデイブやセルゲイと同じです:

私はQT Creatorを使用しています:

メインGUIウィンドウでドラッグドロップGUIを使用して作成し、ラベルを作成します(例:「mylabel」)

ボタンのコールバック(クリック)では、ユーザーインターフェイスウィンドウへの(*ui)ポインターを使用して以下を実行します。

void MainWindow::on_pushButton_clicked()
{
     QImage imageObject;
     imageObject.load(imagePath);
     ui->myLabel->setPixmap(QPixmap::fromImage(imageObject));

     //OR use the other way by setting the Pixmap directly

     QPixmap pixmapObject(imagePath");
     ui->myLabel2->setPixmap(pixmapObject);
}

他のヒント

Qimageを表示する方法を示すシンプルであるが完全な例は、次のように見えるかもしれません:

#include <QtGui/QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QImage myImage;
    myImage.load("test.png");

    QLabel myLabel;
    myLabel.setPixmap(QPixmap::fromImage(myImage));

    myLabel.show();

    return a.exec();
}

aを使用して画像を描画します QLabel 私にとっては少しKludgeのようです。 QTの新しいバージョンでは、aを使用できます QGraphicsView ウィジェット。 QT作成者では、ドラッグa Graphics View UIにウィジェットして何かを名前を付けます(名前が付けられています mainImage 以下のコードで)。の mainwindow.h, 、次のようなものを追加します private あなたへの変数 MainWindow クラス:

QGraphicsScene *scene;
QPixmap image;

次に、編集するだけです mainwindow.cpp そして、コンストラクターを次のようにします:

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

    image.load("myimage.png");
    scene = new QGraphicsScene(this);
    scene->addPixmap(image);
    scene->setSceneRect(image.rect());

    ui->mainImage->setScene(scene);
}

1つの一般的な方法は、画像をに追加することです QLabel 使用するウィジェット QLabel::setPixmap(), 、次に表示します QLabel 他のウィジェットと同様に。例:

#include <QtGui>

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
  QPixmap pm("your-image.jpg");
  QLabel lbl;
  lbl.setPixmap(pm);
  lbl.show();
  return app.exec();
}

私の知る限りでは、 QPixmap 画像を表示するために使用されます QImage それらを読むために。がある QPixmap::convertFromImage()QPixmap::fromImage() から変換する機能 QImage.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top