1.引用相对路径:
例如: QCursor cursor(QPixmap("1.png"));
问题:会发现引用失败,这是因为相对路径都是从当前工作目录开始找起文件的。可以通过以下函数获取当前工作目录:
bool QDir::setCurrent ( const QString & path ) [static]
然后会发现当前工作目录是C:\Users\Administrator,与之不符。所以可以考虑将当前工作目录重新设置,而另一个问题,因为Qt是将工程目录和程序目录放在两个地方,例如:
程序目录: C:\Users\Administrator\Desktop\QT\build-Qt-Project-05-unknown-Debug
工程目录: C:\Users\Administrator\Desktop\QT\Qt-Project-05
至于程序目录,其实可以通过调用以下函数来获取:
QString QCoreApplication::applicationDirPath () [static]
好了,现在得到了程序目录,我们就可以将当前工作目录设置为程序目录,例如:
QDir::setCurrent(QCoreApplication::applicationDirPath());
2.引用绝对路径:
例如:
QCursor cursor(QPixmap("C://Users//Administrator//Desktop//QT//build-Qt-Project-05-unknown-Debug//debug//1.png"));
经过测试,‘//’和‘\’,都有效。
3.引用资源文件:
当添加了资源文件后,并且前缀设置为‘/’。那么就可以直接引用了,例如:
QCursor cursor(QPixmap(":/resource/1.png"));
注意前面要添加‘:’字符
原文地址:http://blog.51cto.com/12731497/2113268