gpt4 book ai didi

c++ - QPixmap 不适用于存储在变量中的图像路径

转载 作者:行者123 更新时间:2023-11-30 05:24:01 26 4
gpt4 key购买 nike

当我直接这样写图片路径的时候

QPixmap imgBtry("/some/path/resources/Battery100.png"); 

它工作得很好,但当我将路径存储在变量中时它不起作用。我应该怎么办?以下是完整代码。

//global variables
std::string path;
std::string img100 = "/some/path/resources/Battery100.png";
std::string img75 = "/some/path/resources/Battery75.png";
std::string img50 = "/some/path/resources/Battery50.png";
std::string img25 = "/some/path/resources/Battery25.png";

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPixmap imgBtry(img50);
ui->label_2->setPixmap(imgBtry.scaled(50,50,Qt::IgnoreAspectRatio,Qt::FastTransformation));
}

最佳答案

你得到了什么错误?一个猜测可能是:

QPixmap 构造函数将 QString 作为参数。当您直接放置字符串时它会起作用,因为它是一个 c 字符串 (char *) 并且 QString 有一个将 c 字符串作为输入的构造函数。但是没有构造函数将 std::string 作为输入。

所以要么:

1) 将您的字符串定义为 C 字符串。

2) 在调用 QPixmap 之前将你的 std::strings 转换为 c-strings:

QPixmap imgBtry(img50.c_str());

关于c++ - QPixmap 不适用于存储在变量中的图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com