簡體   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