大家好,
我不想使用 qt 开发 ImageViewer。我正在尝试通过缩放来调整大图像的大小。我的问题是,当我更改屏幕方向时,图像的某些部分会被剪裁,并且如果我在横向模式下打开图像,默认情况下,即使我改回纵向模式,图像的大小仍然很小。我做错了什么?
请帮帮我。这是我写的代码
ImageViewer::ImageViewer() { setAttribute(Qt::WA_DeleteOnClose); QAction *back = new QAction(this); back->setText(QString("Back")); 连接(返回,信号(触发()),这个,SLOT(关闭()));返回->setSoftKeyRole(QAction::PositiveSoftKey); 添加操作(返回);
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; reader.setFileName(filePath); QSize imageSize = reader.size(); imageSize.scale(size(), Qt::KeepAspectRatio); reader.setScaledSize(imageSize); QImage image = reader.read(); imageLabel->setPixmap(QPixmap::fromImage(image)); imageLabel->adjustSize(); }