向Qt Designer添加自定义小部件

4

I've got the following custom widget:

class QDESIGNER_WIDGET_EXPORT MySpecialButton : public QAbstractButton
{
    Q_OBJECT
    ...etc...
};

Qt Designer可以识别此窗口部件,我可以毫不费力地将其放置在我的表单上。然而,在属性编辑器中查看时,只有QObject和QWidget属性可见。我该如何让Qt Designer认识到这也是一个QAbstractButton对象?

1个回答

2
首先,请确保您的类定义中有Q_OBJECT宏。此外,请确保文件已正确进行了moc。如果这两个方法都没有解决问题,您可以查看QPushButtonQToolButton的声明方式,看看是否能给您提供任何提示。
最后,如果您需要采用链锯式方法而不是手术刀式方法,您可以在类中定义要设置的属性,并将QAbstractButton函数作为调用属性的函数。请查阅Q_PROPERTY宏。

谢谢,但我已经在那里使用了Q_OBJECT宏(为了更清晰,我编辑了我的问题)。在我修复它之前,我一直收到编译器错误。我已经查看了QPushButton,并没有发现任何特别的地方。我将保留这个问题一段时间,如果我永远得不到解决,我想我会选择使用链锯路线。 - moswald
顺便提一下,我选择了链锯路线。我从来没有看到过我的自定义类和 QPushButton 之间的区别。 - moswald

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接