想请问大家,现在因为我想要让QLabel有mouseMoveEvent ( QMouseEvent * ),
因此我知道我必需要用继承的方式来让QLabel有这个功能,但我尝试了很久还是不能正常work
,希望大家指点一下问题,感激。
环境:window XP
QT creator
使用里面的图形设计来设计画面
实做方法:
1. 创一个新的专案为「Qt4 Gui Application」
2. class选择Dialog
3. 在dialog.h增加
#include <QLabel>
4. 在dialog.h之中添加
class ClickLabel : public QLabel
{
public:
ClickLabel(QDialog *parent = 0 );
~ClickLabel();
private :
void mouseMoveEvent ( QMouseEvent * );
void mousePressEvent ( QMouseEvent * );
void mouseReleaseEvent ( QMouseEvent * );
};
5. 再来应该要在dialog.h中定义ClickLabel,但是我在这里卡住,
不知道该如何定义,参考他自动生成的dialog也依然不行,希望各位能指点一下,
其实我不太懂他原本自动生成函数的意义,
如各位大大有空是否能指点一下要去哪里获取这些基本知识,c++的继承吗??
自动生成:
Dialog::Dialog(QWidget *parent)
: QDialog(parent), ui(new Ui::Dialog)
{
ui->setupUi(this);
}
Dialog::~Dialog()
{
delete ui;
}
我写得:
ClickLabel::ClickLabel(QWidget *parent)
: QLabel(parent)
{
}