例如: 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());
例如:
QCursor cursor(QPixmap("C://Users//Administrator//Desktop//QT//build-Qt-Project-05-unknown-Debug//debug//1.png"));
经过测试,‘//’和‘\’,都有效。
当添加了资源文件后,并且前缀设置为‘/’。那么就可以直接引用了,例如:
QCursor cursor(QPixmap(":/resource/1.png"));
注意前面要添加‘:’字符
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。