1
CustomQSpinBox를 만들고 싶습니다.Qt가 QSpinBox 및 QPushButton을 상속합니다.
이 CustomQSpinBox은 QPushButton을하고 QSpinBox 의 상속해야하지만이 코드를 컴파일 할 때 :
erreur :
#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(); };
오류가 발생합니다 C2594를 : 'static_cast'ÿ : 변환을 ‰ ambigu 'QObject *'ko '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