Qtを使用してMaya 2016のプラグインを構築しようとしていますが、必要な特定のアセットを参照するために相対パスを使用する方法がわかりません。QtベースのAutodesk Mayaプラグインで相対パスを使用する方法は?
私のプラグインのための私のコードの中に、私はQtのデザイナーから作られた私の前に設計され、ダイアログウィンドウが含まれているmy_ui.ui
ファイルをロードするためにQUiLoader
とQFile
を使用しています:
QUiLoader loader;
QFile file("my_ui.ui");
file.open(QFile::ReadOnly);
fForm = loader.load(&file, this);
file.close();
my_ui.ui
が入っていますコンパイル済みのplugin.so
プラグインと同じディレクトリです(私はLinuxを使用しています)。
相対パス(./
、.
)の任意の並べ替えを使用すると、Mayaがどこから実行されたのか分かりません。しかし、私の.so
プラグイン自体のパスを取得する方法はありますか?私は自分で解決策を考え出し
ファイルはプラグインに埋め込まれており、 'QFile'は適切なパスが与えられたときに埋め込みファイルにリダイレクトする仮想ファイルシステムを実装しています。 –
@KubaOberだから、私はQt Resource Systemのドキュメント(http://doc.qt.io/qt-5/resources.html)を見て、私が探していた詳細情報をくれた。ありがとう。 –