我有一个函数可以像这样接收对QPixmap
的引用作为参数:
void myFunction(QPixmap &pixmap){
//[...]
}
如何将像素图设置为“空”,以使pixmap.isNull()
在已加载了内容的像素图上调用true
后返回myFunction()
?
示例:
//1. Create pixmap
QPixmap pixmap;
qDebug() << pixmap.isNull(); //true
//2. load image
pixmap.load("existing_image.png");
qDebug() << pixmap.isNull(); //false
//3. run myFunction on pixmap
myFunction(pixmap);
qDebug() << pixmap.isNull(); //true
答案 0 :(得分:3)
一种方法是使用swap()方法将图像数据替换为空QPixmap
:
void myFunction(QPixmap &pixmap){
pixmap.swap(QPixmap());
}
swap()
(上面链接)的文档指出:
与此像素图交换其他像素图。此操作非常快速且 永远不会失败。
答案 1 :(得分:-1)
使用此
void myFunction(QPixmap* &pixmap){
//[...]
delete pixmap;
pixmap = NULL;
}
新示例:
//1. Create pixmap
QPixmap pixmap;
qDebug() << pixmap.isNull(); //true
//2. load image
pixmap.load("existing_image.png");
qDebug() << pixmap.isNull(); //false
//3. run myFunction on pixmap
myFunction(&pixmap);
qDebug() << pixmap.isNull(); //true