50

私は Qt が初めてで、ボタンがクリックされると画像を表示する単純な GUI アプリケーションを作成しようとしています。

オブジェクト内の画像を読み取ることはできますが、入力として受け取って表示するQImageQt 関数を呼び出す簡単な方法はありますか?QImage

4

5 に答える 5

78

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();
}
于 2010-12-17T20:23:40.057 に答える
29

を使用して画像を描画するのQLabelは、私には少し面倒に思えます。QGraphicsViewQt の新しいバージョンでは、ウィジェットを使用できます。Qt Creator で、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);
}
于 2013-08-02T18:46:53.537 に答える
14

QLabel一般的な方法の 1 つは、を使用して画像をウィジェットに追加し、他のウィジェットと同じよう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();
}
于 2010-12-17T20:15:28.780 に答える
8

おかげで、私はそれを行う方法を見つけました.DaveとSergeyと同じです:

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);
}
于 2010-12-17T20:37:46.980 に答える
4

私の知る限り、QPixmap画像の表示とQImage読み取りに使用されます。から変換するQPixmap::convertFromImage()と関数があります。QPixmap::fromImage()QImage

于 2010-12-17T20:09:53.813 に答える