QPixmap不显示我的图片

时间:2013-07-16 16:42:21

标签: c++ qt qpixmap

我正在尝试使用QPixmap在QLabel上显示图片,但图片未显示。有人可以帮帮我吗?

onglets = new QTabWidget(this);    //création des onglets
page1 = new QWidget;  //création de la page 1
page2 = new QLabel; //création de la page 2

page1->setLayout(layoutPrincipal); //insere le layoutprincipale dans la page 1
page2->setPixmap(QPixmap("1.png"));
page2->setText("Alpha version 1.0");
onglets->addTab(page1, "Creation de compte"); //ajoute la page 1 dans les onglets
onglets->addTab(page2, "A propos");

1 个答案:

答案 0 :(得分:0)

问题在于:

page2->setPixmap(QPixmap("1.png"));
page2->setText("Alpha version 1.0");

QLabel不能同时包含text和Pixmap选项,因此,当你使用setText时,会删除QPixmap。为了避免这种情况,您可以为QTabWidget的第二个选项卡创建新的QWidget,添加2个QLabel,其中1个有文本,第二个是pixmap。

更新: 如果在删除page2->setText("Alpha version 1.0");之后QPixmap仍然不存在,请尝试找出,如果存在文件“1.p​​ng”。试试这个,确定文件是否存在以及它预期的位置

qDebug()<<"File exists -"<<QFileInfo("1.png").exists()<<" "<<QFileInfo("1.png").absoluteFilePath();

UPDATE2:

当你从QtCreator启动它(编译它)时,你的文件应该在你的项目目录中(靠近* .pro文件),当你从可执行文件启动时,它应该在它附近,如果你调用它就像“1巴纽”。顺便说一句,如果你改变你的currentWorkingDirectory - 那么下一个问题就会出现。解决方案是将qt recource文件添加到项目中,并将此图像添加到recource并像QPixmap(:/1.png");一样调用它。但是现在,您可以找到QDir::currentPath()所需的目录,将文件放在那里。