我正在尝试使用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");
答案 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.png”。试试这个,确定文件是否存在以及它预期的位置
qDebug()<<"File exists -"<<QFileInfo("1.png").exists()<<" "<<QFileInfo("1.png").absoluteFilePath();
UPDATE2:
当你从QtCreator启动它(编译它)时,你的文件应该在你的项目目录中(靠近* .pro文件),当你从可执行文件启动时,它应该在它附近,如果你调用它就像“1巴纽”。顺便说一句,如果你改变你的currentWorkingDirectory
- 那么下一个问题就会出现。解决方案是将qt recource文件添加到项目中,并将此图像添加到recource并像QPixmap(:/1.png");
一样调用它。但是现在,您可以找到QDir::currentPath()
所需的目录,将文件放在那里。