こんにちは、みんな、
qtを使用してImageViewerを開発したくありません。大きな画像をスケーリングしてサイズを変更しようとしています。私の問題は、画面の向きを変更すると画像の一部が切り取られ、画像を横向きモードで開くと、縦向きモードに戻してもデフォルトで画像のサイズが小さいままになることです。私は何を間違っていますか?
私を助けてください。私が書いたコードはheresです
ImageViewer::ImageViewer() { setAttribute(Qt::WA_DeleteOnClose); QAction *back = new QAction(this); back->setText(QString("Back")); connect(back,SIGNAL(triggered()),this,SLOT(close())); back->setSoftKeyRole(QAction::PositiveSoftKey); addAction(戻る);
imageLabel = new QLabel();
imageLabel->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
imageLabel->setAlignment(/*Qt::AlignLeft|*/Qt::AlignCenter);
QWidget *widget = new QWidget;
layout=new QStackedLayout();
layout->addWidget(imageLabel);
widget->setLayout(layout);
setCentralWidget(widget);
}
void ImageViewer::showImage(QString filePath) { QImageReader リーダー; reader.setFileName(ファイルパス); QSize imageSize = reader.size(); imageSize.scale(size(), Qt::KeepAspectRatio); reader.setScaledSize(imageSize); QImage 画像 = reader.read(); imageLabel->setPixmap(QPixmap::fromImage(画像)); imageLabel->adjustSize(); }