Я хочу, чтобы изображение отображалось в том же окне, если я нажму на кнопку. Но изображение не может быть найдено, независимо от того, находится ли оно в том же каталоге или я записываю весь путь. Я видел несколько способов объединить изображение и подумал, что это лучший вариант:
MyApp::MyApp(QWidget *parent)
: QWidget(parent)
{
QPushButton *button = new QPushButton("&Randomize!");
gitterlayout->addWidget(button, 5, 0);
connect(button, SIGNAL(clicked()), this, SLOT(Randomizer()));
}
void MyApp::Randomizer()
{
QLabel* bild = new QLabel;
QPixmap pixmap("question.png"); // the important part, the picture is in my project folder
if(!pixmap.isNull())
{
bild->setPixmap(pixmap);
bild->show();
}
else
{
qDebug() << "Cannot find picture"; // I always get this message
}
/* I want this question image to appear because once you click on the button,
a text will be copied to the clipboard and you can't see it until you paste it
(I left it out for this topic) */
}
Если я использую QPixmap pixmap("C:/myproject/question.png");
(полный путь) Это не работает так же хорошо.
Потому что Qt использует папку сборки (в данном случае «C: \\ build-myproject-5.4.2-debug») в качестве рабочей папки (build-myProject-5.4.2-release, если вы работаете в режиме выпуска) , Вы можете изменить его, переключившись в режим проектов и балабала. Или просто поместите свою фотографию в эту рабочую папку. В окнах разделитель пути должен быть «\», а не «/», что обычно вызывает много проблем.
Все ваши ресурсы должны быть размещены здесь при запуске через Qt Creator.