qt c ++动态图像路径

时间:2017-04-29 11:52:05

标签: dynamic path qpixmap qlabel

我对QPixmap unter QT/C++有疑问。我想从std::string动态设置Pixmap图像路径。但我不能。我尝试了一些变化,但没有成功。

这是我的代码:

QPixmap pixmap("data/25eaad8879f1d018caec98546279804f.png"); // this is working
// label

ui->imageSite1->setPixmap(pixmap); //working

但如果我尝试动态设置pixmappath,我看不到图像(标签内)。 e.g。

string path = "data/"+imgname+".png"; // imgname is a dynamic parameter

QPixmap pixmap(path); // this is not working

// label
ui->imageSite1->setPixmap(pixmap);

任何人都可以帮助我吗? 先谢谢!

肯尼

2 个答案:

答案 0 :(得分:0)

如果您查看Documentation of QPixmap,您会看到load方法声明为QString作为参数。所以你要么直接建立一个QString(根据你的例子判断,我认为这是更好的方法),或者用后者的构造函数将std::string转换为QString

答案 1 :(得分:0)

谢谢你的回答。我的代码现在正在运作:-)。 我必须从文本文件加载文件路径,并在行的末尾是“\ n”。在这种情况下,他们无法加载图像。

我删除了这个并通过load-method加载pixmap。现在它的工作。

string path = "data/"+imgfilepath;
QString testPath = QString::fromStdString(path);
qDebug() << testPath;
QPixmap pixmap;
pixmap.load(testPath);

非常感谢: - )