如果单击按钮,我希望在同一窗口中显示图像。但无论图像是在同一目录中还是记下整个路径,都无法找到图像。我看到了几种整合图片的方法,并认为这是最好的方法:
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");
(完整路径)它也不起作用。
答案 0 :(得分:1)
因为Qt默认使用构建文件夹(在本例中为“C:\\ build-myproject-5.4.2-debug”)作为工作文件夹(如果你运行的话,可以使用build-myProject-5.4.2-release)发布模式)。您可以通过切换到项目模式和balabala来更改它。或者只是将你的照片放入该工作文件夹。在Windows上,路径分隔符应该是'\'而不是'/',这通常会导致很多麻烦。
在Qt创建者运行时,所有资源都应该放在这里。