在qt的窗口的一小部分中查看图像

时间:2012-12-14 16:55:39

标签: c++ image qt

我知道如何在Qt jpg image display的整个窗口中查看图像,但我需要显示200x300px大小的图像。这意味着我需要程序来读取jpg图像并将其重新定位并在窗口侧面的小盒子中查看它。我不知道我应该为此放置哪个小部件以及执行此操作的方法。有人可以指出我一些教程或提供简单的建议。

谢谢。

1 个答案:

答案 0 :(得分:3)

加载图片后,例如:

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设置固定大小,但这取决于您在应用程序中处理整体布局的方式。