繁体   English   中英

如何在基于Qt的Autodesk Maya插件中使用相对路径?

[英]How to use relative paths in a Qt-based Autodesk Maya plug-in?

我正在尝试使用Qt构建Maya 2016插件,但不确定如何使用相对路径引用我需要的特定资产。

在我的插件代码中,我使用QUiLoaderQFile加载my_ui.ui文件,该文件包含由Qt Designer制作的预先设计的对话框窗口:

QUiLoader   loader;
QFile       file("my_ui.ui");

file.open(QFile::ReadOnly);
fForm = loader.load(&file, this);
file.close();

my_ui.ui与我的已编译plugin.so插件位于同一目录中(我正在使用Linux)。

任何种类的相对路径(的./. )给我的位置,玛雅的地方是从,理解跑去。 但是有没有办法获取我的.so插件本身的路径?

我自己想出了解决方案:

在我的Qt Project .pro文件中,添加了以下几行:

FORMS += my_ui.ui
RESOURCES += my_ui.qrc

然后我添加了一个新文件my_ui.qrc ,其中包含以下内容:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>my_ui.ui</file>
</qresource>
</RCC>

.qrc资源收集文件列出了我的应用程序的依赖关系,并将RESOURCES行添加到我的.pro文件中告诉qmake将我的资源文件编译为最终二进制文件。

然后在我的应用程序中,我修改了QFile构造函数以使用资源路径:

QFile       file(":/my_ui.ui");

我通过查看Maya devkit Qt示例和Qt资源系统文档( http://doc.qt.io/qt-5/resources.html )获得了此信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM