如何让 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 插件框架制作的库,其中将包含您的小部件。当然,如果你觉得值得的话。