1
我想创建我的CustomQSpinBox。Qt继承QSpinBox和QPushButton
这CustomQSpinBox必须继承QPushButton和QSpinBox 的,但是当我编译此代码:
#include <QSpinBox>
#include <QPushButton>
class CustomQSpinBox : public QSpinBox, public QPushButton
{
Q_OBJECT
public:
CustomQSpinBox (QWidget *parent = 0);
~CustomQSpinBox();
void initMinMax(int min, int max);
void init();
signals:
void needNumpad();
public slots:
void clicked();
};
我得到一个错误:
ERREUR:C2594:“static_cast'ÿ:转换ambigu‰ 'QObject *'en 'CustomQSpinBox *'
我该如何做我的继承?
到底为什么你从两个类(无论是从QObject的起源给你你的错误......“钻石问题”继承HTTP://en.wikipedia .org/wiki/Multiple_inheritance)?你只需要从QSpinBox本身派生(或者更准确地说,如果需要,从QSpinBox继承一个CustomSpinBox类和从QPushButton派生一个CustomPushButton) – Najzero
我需要知道用户何时单击QSpinBox。 QSpinBox具有ButtonSymbols = noButton – artoon
然后您可以完全依赖标准QObject并使用qt的信号/插槽系统(将valueChanged()信号设置为您希望的插槽)请参阅http://qt-project.org /doc/qt-4.8/qspinbox.html这里和信号/插槽说明在这里:http://qt-project.org/doc/qt-4.8/signalsandslots.html – Najzero