gpt4 book ai didi

c++ - Qlabel::setPixmap 不起作用

转载 作者:行者123 更新时间:2023-12-04 04:59:33 24 4
gpt4 key购买 nike

很简单,我试图在一个简单的 Qt GUI 应用程序中显示图像。
我有这个代码:

ui->label_2->setVisible(true);
QPixmap supremect(":/images/supremecourt.jpg");
ui->label_2->setPixmap(supremect);
if(supremect.isNull())
{
QMessageBox err(this);
err.setText("File null");
err.exec();
}
building=SPCT; // A flag
ui->label_2->show();

它编译完美,但是当我运行它时,什么也没有显示。我确定图像存在于资源中,那么我做错了什么?

编辑:转换为 PNG 没有帮助

最佳答案

试试

QPixmap p;
QString str = ":/images/supremecourt.jpg";
bool retVal = p.load(str);
if(retVal == false)
{
qDebug() << "Failed to load image!";
foreach(const QByteArray &fmt, QImageReader::supportedImageFormats())
{
qDebug() << QString(fmt);
// if this doesn't list jpeg then you don't have
// the plugin in your imageformats folder.
}

if( !QFile::exists(str) )
{
qDebug() << "File" << str << "doesn't exist!";
}
}

http://qt-project.org/doc/qt-4.8/qpixmap.html#load

http://qt-project.org/doc/qt-4.8/qfile.html#exists

如果它没有加载,那么您的程序可能无法访问正确的插件,或者该文件不存在于您认为存在的位置。

jpeg 插件的 dll 称为 qjpeg4.dll,应该在 ./imageformats/ 中。

希望有帮助。

关于c++ - Qlabel::setPixmap 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16309835/

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