c++ - 如何将 QPixmap 设置为空

标签 c++ qt null qt5 qpixmap

我有一个函数接收对 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/

相关文章:

python - 如何删除QTreeWidgetItem

c++ - 在 Qt 中更改标签

javascript - null 是否被视为零和 undefined 而不是算术表达式中的数字?

c++ - 是否可以将 QtConcurrent::run() 与类的函数成员一起使用

时间:2019-03-27 标签:c#NewtonJsonJarraychecknull/empty错误

clojure - 有没有一种快速方法可以检查 Clojure 函数中的 nil args?

c++ - DDS纹理加载

c++ - 指向模板函数的指针

java - Linux 中的 SMTP/POP3 客户端

c++ - C++ 中的线性同余生成器