• 3739阅读
  • 1回复

想请问QLabel的继承问题 [复制链接]

上一主题 下一主题
离线khk1
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-14
想请问大家,现在因为我想要让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)
{
}

离线leehomexu
只看该作者 1楼 发表于: 2009-05-15
问题不难,是基本功的事了,找本QT的书好好练几个程序吧。。推荐《精通Qt4编程》
快速回复
限100 字节
 
上一个 下一个