我有一个插件,可以加载并显示一个自定义窗口小部件,显示从资源文件(resources.qrc)加载的图像(作为QLabel的背景).我面临的问题是,一旦加载了插件,它就会正确显示小部件,但不会显示图像.我尝试到处都放"Q_INIT_RESOURCE(资源)",但没有任何反应.我已经创建了许多自定义小部件,它们使用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)
Run Code Online (Sandbox Code Playgroud)