我有一个函数接收对 QPixmap
的引用作为参数,如下所示:
void myFunction(QPixmap &pixmap){
//[...]
}
如何将像素图设置为“空”,以便 pixmap.isNull()
在调用 myFunction()
后返回 true
已在其中加载内容的像素图?
例子:
//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
最佳答案
一种方法是使用 swap()用空 QPixmap
替换图像数据的方法:
void myFunction(QPixmap &pixmap){
pixmap.swap(QPixmap());
}
swap()
的文档(上面链接)指出:
Swaps pixmap other with this pixmap. This operation is very fast and never fails.
关于c++ - 如何将 QPixmap 设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51939999/