我正在尝试将QPixmap
添加到从QLabel
获取的QLabel
,但是有错误:
这是代码
const QPixmap *tempPix = new QPixmap("");
tempPix = (label1->pixmap());
label2->setPixmap(tempPix); //error cannot convert from const QPixmap* to const QPixmap&
如果我这样做:
const QPixmap tempPix("");
tempPix = (label1->pixmap()); //error cannot convert QPixmap and QPixmap*
label2->setPixmap(tempPix);
答案 0 :(得分:3)
要将数据从指针对象复制到对象,必须使用*
QPixmap tempPix;
if(label1->pixmap()){
tempPix = *label1->pixmap();
label2->setPixmap(tempPix);
}
答案 1 :(得分:1)
您可以按如下方式将其写在一行:
label2->setPixmap(*label1->pixmap());
请注意,*
会将pixmap()
返回的指针转换为引用。两者之间的差异在this thread中解释。
请注意,在第一个示例中,从不使用第一行中构造的QPixmap
并发生内存泄漏。第二行更改指针值,而不是新构造对象的数据。