[英]How to use relative paths in a Qt-based Autodesk Maya plug-in?
我正在嘗試使用Qt構建Maya 2016插件,但不確定如何使用相對路徑引用我需要的特定資產。
在我的插件代碼中,我使用QUiLoader
和QFile
加載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.