千家信息网

Qt学习总结(C鱼)之路径参数引用

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,1.引用相对路径:例如: QCursor cursor(QPixmap("1.png"));问题:会发现引用失败,这是因为相对路径都是从当前工作目录开始找起文件的。可以通过以下函数获取当前工作目录:b
千家信息网最后更新 2024年11月19日Qt学习总结(C鱼)之路径参数引用

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"));

注意前面要添加':'字符

0