我想创建一个新窗口并在其中显示QImage。
void Demo::on_pushButton_clicked()
{
//create and show new window that displays a QImage
}
是否可以在新窗口中使用QPixmap来显示我的QImage?
答案 0 :(得分:1)
最简单的方法。
QLabel *l = new QLabel;
l->setPixmap(QPixmap::fromImage(QImage("path")));
l->setAttribute(Qt::WA_DeleteOnClose);
l->show();
如果您使用QImage
,则首先应将其转换为QPixmap
。 QPixmap
使用特殊的静态方法执行此操作:fromImage
。
http://qt-project.org/doc/qt-4.8/qpixmap.html#fromImage
我也在这里使用Qt::WA_DeleteOnClose
。它是什么?它是特殊属性,当有人关闭标签时,此属性Qt
会自动删除标签。我们需要这个,因为我们没有将父设置为QLabel
所以我们可以获得内存泄漏,但是使用此属性一切都会好的。
您也可以自己setGeometry()
标记。