【发布时间】:2012-12-14 16:55:39
【问题描述】:
我知道如何在 Qt jpg image display 的完整窗口中查看图像,但我需要显示 200x300px 大小的图像。这意味着我需要程序读取 jpg 图像并将其调整大小并在放置在窗口一侧的小框中查看它。我不知道我应该为此放置哪个小部件以及执行此操作的方法。有人可以指出我一些教程或给出简单的建议。
谢谢。
【问题讨论】:
我知道如何在 Qt jpg image display 的完整窗口中查看图像,但我需要显示 200x300px 大小的图像。这意味着我需要程序读取 jpg 图像并将其调整大小并在放置在窗口一侧的小框中查看它。我不知道我应该为此放置哪个小部件以及执行此操作的方法。有人可以指出我一些教程或给出简单的建议。
谢谢。
【问题讨论】:
加载图片后,例如:
QImage img;
img.loadFromData(data);
使用 QImage::scaled() 创建它的缩放副本并将其分配给它自己。示例:
img = img.scaled(200, 300, Qt::KeepAspectRatio, Qt::SmoothTransformation);
根据需要调整标志(请参阅有关可用标志的 QImage::scaled() 文档。)
然后您可以显示它。最简单的方法是将其设置为 QLabel 上的像素图:
QLabel label;
label.setPixmap(QPixmap::fromImage(img));
您可能希望为 QLabel 设置一个固定大小,但这取决于您如何处理应用程序中的整体布局。
【讨论】:
img.loadFromData(data);替换为`img.loadFromData("test.jpg");现在更清楚地说明如何查看它。