我正在努力将自定义图标添加到QToolButton
. 我有一个资源文件(在 .pro 文件中的 RESOURCES 下): myResourceFile.qrc 包含
/images
ICON_TEST.png
和代码
dragButton = new QToolButton(this);
QString resourcePath = ":/images/ICON_TEST.png";
QPixmap pixIcon(resourcePath); //THE LINE THAT GIVES THE ERROR!
dragButton->setIcon(QIcon(pixIcon));
我得到错误:
对 QPixmap(QString &) 的调用不匹配
如何将正确的路径传递给 QPixmap 对象,然后将对象传递给 setIcon()?
编辑:刚刚确认 .png 文件存在并且被 Qt 识别:
File exists - true ":/images/ICON_TEST.png"
和:
qDebug()<<"File exists -"<<QFileInfo(":/images/ICON_TEST.png").exists()<<" "<<
QFileInfo(":/images/ICON_TEST.png").absoluteFilePath();
使用解决方案编辑: 以下作为答案
问题仍然存在,为什么会这样?变量 pixIcon 在类的 .h 文件中声明为:
QPixmap pixIcon;
并在构造函数中赋值:
pixIcon(resourcePath);
在我看来,这几乎等同于在一行中完成。
这是在带有 Qt Creator 2.0 的 Windows Vista 上。