从STD :: String获取QPIXMAP动态图像路径

Get QPixmap dynamic image path from std::string

本文关键字:动态 图像 QPIXMAP 路径 获取 STD String      更新时间:2023-10-16

我在qt下的 QPixmap有问题。我想从std::string动态设置PixMap图像路径。我尝试了一些变体,但没有成功。

这是我的代码:

QPixmap pixmap("data/25eaad8879f1d018caec98546279804f.png"); // this is working
// label
ui->imageSite1->setPixmap(pixmap); //working

但是,如果我尝试动态地设置pixmappath,我看不到图像(在标签内(。例如

string path = "data/"+imgname+".png"; // imgname is a dynamic parameter
QPixmap pixmap(path); // this is not working
// label
ui->imageSite1->setPixmap(pixmap);

我该如何正确执行此操作?

如果您查看qpixmap的文档,则将load方法声明为将QString称为参数。因此,您要么必须直接构建QString(根据您的示例,我认为这是更好的方法(,要么用后者的构造函数将std::string转换为QString

我必须从文本文件中加载filepath,并且在行末尾是 n。在这种情况下,他们无法加载图像。

我将其删除并通过load方法加载PixMap。现在正在工作。

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