C++ 如何在另一个类上使用qpixmap?

C++ 如何在另一个类上使用qpixmap?,c++,qt,qt-creator,qpixmap,C++,Qt,Qt Creator,Qpixmap,我正在尝试使用qpixmap创建QLabel图标。 这是我的职责: void myClass::myFunction() { QPixmap on_icon(":/path"); ui.label_1.setPixmap(on_icon); } 我的问题是我只能在myFunction中使用on_图标。我如何在不同的功能上使用它,例如: void myClass::myOtherFunction() { ui.label_2.setPixmap(on_icon); }

我正在尝试使用qpixmap创建QLabel图标。 这是我的职责:

void myClass::myFunction()
{
    QPixmap on_icon(":/path");

    ui.label_1.setPixmap(on_icon);
}
我的问题是我只能在myFunction中使用on_图标。我如何在不同的功能上使用它,例如:

void myClass::myOtherFunction()
{
    ui.label_2.setPixmap(on_icon);
}

正如图加评论的那样。一种可能是使您的
QPixmap
成为myClass的成员变量。另一种方法是使用
QLabel::pixmap()
方法从标签中获取所需的pixmap

void MyClass::myFunction()
{
    QPixmap on_icon(":/path");
    ui->label_1->setPixmap(on_icon);
}

void MyClass::myOtherFunction()
{
     QPixmap *on_icon = ui->label_1->pixmap();
     ui->label_2->setPixmap(*on_icon);
}

我用load()解决了我的问题 这是我的密码

在.h文件中

QPixmap on_icon;
在.cpp文件中

myClass::myClass
{
    on_icon.load(":/path");
}

void myClass::myFunction()
{
    ui->label_2->setPixmap(on_icon);
}
让我这样的人来解决这个问题

QPixmap on_icon(":/path")  
等于

 on_icon.load(":/path") 

QLabel有一个.pixmap属性,该属性保存加载到其中的当前QPixmap,因此您可以直接将图像传递给标签,然后根据需要进行恢复

另一种可能是使用指向QPixmap的指针来防止它超出范围


正如其他人所说,您可以将QPixmap作为类的成员变量。

将其作为类的成员变量。您能告诉我更多吗?怎样?如果你想在myOtherFunction中重新定义它,我不想。因为myOtherFunction是一个循环函数…请参阅。如果在
myOtherFunc
之前调用了
myFunc
,则此操作应该有效,否则
label_1
中还没有pixmap。如果您确定这是订单,请在此处忽略您的错误。