2

我想创建我的 CustomQSpinBox 。

这个 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();

};

我收到一个错误:

错误:C2594:'static_cast'ÿ:转换歧义 de 'QObject *' en 'CustomQSpinBox *'

我必须如何继承?

4

1 回答 1

0

是的,当 numPad 关闭时,该值在 QSpinBox 中设置。问题是当我点击 QSpinBox 时打开 numPad。

目前我用这段代码管理:

#include <QSpinBox>
#include <QPushButton>
#include <QMoveEvent>
#include <QResizeEvent>

class CustomQSpinBox: public QSpinBox
{
  Q_OBJECT

public:
  CustomQSpinBox(QWidget *parent = 0);
  ~CustomQSpinBox();

  void resizeEvent(QResizeEvent *event);
  void moveEvent(QMoveEvent * event);

signals:
  void needNumpad();

public slots:
  void clicked();

private:
  QPushButton * button;

};
于 2013-06-04T08:55:01.633 回答