Я пытаюсь отобразить изображение на QLabel с QPixmap, но изображение не отображается. Кто-нибудь может мне помочь?
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");
Проблема в строках:
page2->setPixmap(QPixmap("1.png"));
page2->setText("Alpha version 1.0");
QLabel не может иметь как текстовые параметры, так и параметры Pixmap, поэтому, когда вы устанавливаете текст, QPixmap удаляется. Чтобы избежать этого, вы можете создать новый QWidget для второй вкладки вашего QTabWidget, добавив туда 2 QLabels, с 1, которые имеют текст, а второй — с растровым изображением.
ОБНОВИТЬ:
если после удаления page2->setText("Alpha version 1.0");
QPixmap по-прежнему нет, попробуйте выяснить, существует ли вообще файл «1.png». Попробуйте это, чтобы определить, существует ли файл и где вы ожидаете, что он будет
qDebug()<<"File exists -"<<QFileInfo("1.png").exists()<<" "<<QFileInfo("1.png").absoluteFilePath();
UPDATE2:
Когда вы запускаете его из QtCreator (компилируете), ваш файл должен находиться в каталоге вашего проекта (рядом с * .pro-файлом), когда вы запускаете его из исполняемого файла, он должен быть рядом с ним, если вы вызываете его как «1.png» , Кстати, если вы измените свой currentWorkingDirectory
— тогда возникнут следующие проблемы. Решение состоит в том, чтобы добавить файл qt recource в проект, добавить это изображение в recource и назвать его как QPixmap(:/1.png");
, Но сейчас вы можете найти нужный каталог с QDir::currentPath()
положи туда свой файл.
Других решений пока нет …