混淆QLabel和QPixmap
Posted
技术标签:
【中文标题】混淆QLabel和QPixmap【英文标题】:Confusion QLabel and QPixmap 【发布时间】:2013-06-18 12:18:11 【问题描述】:我想在 Qt 上将 Pixmap 显示为标签。 这就是问题所在,上面的代码没有显示我想要的图像。
如果有问题,请纠正我。我一遍又一遍地检查(即使是几行),但它没有导致结果!!!
QLabel *label;
label= new QLabel(this);
QPixmap jet("C:/images/image.jpg");
label->setPixmap(jet);
还有一个问题,好像在另一台机器上也可以!
【问题讨论】:
错误信息?你检查过QPixmap
是否为空吗?
我在构建时没有错误信息!
你的意思是图像根本不显示?从来没有,或者在某些情况下它确实有效?
如果您为标签设置文本而不是像素图,您能看到该文本吗?
是的,图像确实有效,例如当我执行以下操作时: IplImage *IMG=cvLoadImage("C:/images/image.jpg", 1); cvSaveImage("C:/aa.jpg", IMG);结论:这与图像的路径无关。
【参考方案1】:
默认情况下,qt 使用“-system-libjpeg”构建,所以sudo apt-get install libjpeg
如果你在 linux 上,要检查支持的图像格式,添加
qDebug() << QImageReader::supportedImageFormats ();
要向您的项目添加插件,请转到 QtSDK/Desktop/Qt/4.8.1/gcc/plugins 或类似的地方,选择您使用的版本,然后将“plugins”文件夹复制到项目的根目录(更准确地说- 您只需要位于插件中的“imageformats”文件夹),并在您的 main.cpp 文件中添加行 addLibraryPath
(顺便说一下,插件的文件夹不仅包含用于发布的 dll,还包含用于调试的 dll,它们有点很重,所以我会删除带有 *d.dll 的 dll,例如 QtCore.dll - 用于发布,QtCored.dll - 用于调试)
QApplication a(argc, argv);
MainWindow w;
a.addLibraryPath("plugins");
w.show();
【讨论】:
它只是将插件文件夹添加到项目路径中,所以它知道在哪里寻找库(在没有 Qt 的 Windows 计算机上需要),文档 - doc.qt.digia.com/3.3/qapplication.html#addLibraryPath 我还是个新手(3 名代表),无法投票,但只是接受了您的问题作为有用的问题。以上是关于混淆QLabel和QPixmap的主要内容,如果未能解决你的问题,请参考以下文章