3
我尝试基于QWidget创建自己的构件。在类的构造函数中我有:基于QWidget的Qt构件
Square(QWidget *parent = 0, const char *name = 0, WFlags fl = 0);
Square::Square(QWidget *parent = 0, const char *name = 0, WFlags fl)
: QWidget(parent, name, f)
{
if (!name)
setName("Game");
reset();
underMouse=false;
}
但我看到的错误:'WFlags' 尚未声明
现在我重拍我的代码:
class Square : public QWidget
{
Q_OBJECT
public:
Square(QWidget *parent = 0);
};
,并在广场上。 cpp:
Square::Square(QWidget *parent)
: QWidget(parent)
{
}
但我看到错误:
错误:未定义参考`虚表的广场”
错误:collect2:劳工处返回1退出状态 有什么不对?我如何声明基于QWidget的类的构造函数?
谢谢。
这可能是一个错字,但是你的参数名是'fl',你传递给QWidget构造函数的名字是'f'。 – 2010-10-19 15:11:37
重新运行qmake并查看vtable错误是否消失。 – 2010-10-19 15:31:19
请参阅http://stackoverflow.com/questions/2555816/qt-object-linker-problem-undefined-reverence-to-vtable – 2010-10-19 15:35:26