如何让 Q_PROPERTYs 在设计视图中显示
How to get Q_PROPERTYs to show in Design Viiew
我有一个从 QPushButton 派生的 class Q_PROPERTYs 但它们没有出现在设计模式的 属性 编辑器中。
在设计视图中有一个 QPushButton 提升为我的自定义 class,我希望属性自动显示在 属性 编辑器中,至少是 [=20= 类型的那个].我很有可能误解了一些简单的事情。
代码中的相关行如下所示:
class virtualButton : public QPushButton
{
Q_OBJECT
Q_PROPERTY(int number MEMBER m_number DESIGNABLE true USER true STORED true CONSTANT)
Q_PROPERTY(buttons::keySet set MEMBER m_set DESIGNABLE true USER true STORED true CONSTANT)
...
代码编译正常。
您是否从小部件制作了 Qt 插件?
如果它只是代码并且您在 Qt Designer 中通过 "propagate to" 使用它,那将无法解决问题,只能提供一个插件。阅读更多 here 和官方文档中的类似文章。
简而言之,您可以为 Designer 提供使用 Qt 插件框架制作的库,其中将包含您的小部件。当然,如果你觉得值得的话。
我有一个从 QPushButton 派生的 class Q_PROPERTYs 但它们没有出现在设计模式的 属性 编辑器中。
在设计视图中有一个 QPushButton 提升为我的自定义 class,我希望属性自动显示在 属性 编辑器中,至少是 [=20= 类型的那个].我很有可能误解了一些简单的事情。
代码中的相关行如下所示:
class virtualButton : public QPushButton
{
Q_OBJECT
Q_PROPERTY(int number MEMBER m_number DESIGNABLE true USER true STORED true CONSTANT)
Q_PROPERTY(buttons::keySet set MEMBER m_set DESIGNABLE true USER true STORED true CONSTANT)
...
代码编译正常。
您是否从小部件制作了 Qt 插件?
如果它只是代码并且您在 Qt Designer 中通过 "propagate to" 使用它,那将无法解决问题,只能提供一个插件。阅读更多 here 和官方文档中的类似文章。
简而言之,您可以为 Designer 提供使用 Qt 插件框架制作的库,其中将包含您的小部件。当然,如果你觉得值得的话。