我想向QPushButton
添加一些属性(例如ID)。因此,我需要扩展或覆盖Q_WIDGETS_EXPORT QPushButton : public QAbstractButton
类
我怎么做?
谢谢您的帮助。
最佳答案
这实际上取决于用例。从Qt-(Widget)类继承没有问题(通常是预期的方式)(如果我错了,请纠正我)。
因此,您可以执行以下操作:
class MyQPushButton : public QPushButton
{
Q_OBJECT
public:
MyQPushButton() : QPushButton(...) {}
private:
int ID = -1;
}
Qt有一个很好的文档,您可以查看源代码以了解要覆盖的内容。您还可以使用
QPushButton
扩展一个新类,但是如果您想例如,则始终必须在类中处理QPushButton引用。连接一些东西。在继承的类中,您可以连接插槽等。但是例如,您可以这样做:class MyQPushButton
{
public:
MyQPushButton() {}
const QPushButton& const GetQPushButton() { return pushButton; }
const QPushButton* const GetQPushButtonPtr() { return &pushButton; }
private:
QPushButton pushButton;
int ID = -1;
}
没有对与错。但是我将对Qt类使用继承。
关于c++ - Qt和C++:覆盖或扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62808180/