リソースファイル(resources.qrc)からロードされた画像(QLabelの背景として)を表示するカスタムウィジェットをロードして表示するプラグインがあります。私が直面している問題は、プラグインが読み込まれると、ウィジェットは正しく表示されますが、画像は表示されないことです。「Q_INIT_RESOURCE(resources)」をどこにでも配置しようとしましたが、何も起こりません。qrcファイルを使用して画像を表示するカスタムウィジェットを多数作成しましたが、アプリ内で直接作成しただけで、問題なく機能しました。今回はプラグインからのものなので、ここに欠けているものがあるはずです。何か助けはありますか?
// TheInterface.h
class TheInterface
{
...
}
Q_DECLARE_INTERFACE(TheInterface,"com.system.subsystem.TheInterface/1.0");
// MyWidget.h
class MyWidget : public QWidget, public Ui::MyWidget
{
Q_OBJECT
...
}
// MyPlugin.h
#include "TheInterface.h"
class MyPlugin : public QOBject,
public TheInterface
{
Q_OBJECT
Q_INTERFACES(TheInterface)
...
};
// MyPlugin.cpp
#include "MyPlugin.h"
#include "MyWidget.h"
MyPlugin::MyPlugin()
{
MyPlugin* w = new MyPlugin();
w->show();
}
Q_EXPORT_PLUGIN2(myplugin, MyPlugin)