您的位置:首页 > 编程语言 > Qt开发

Qt中实现拖放

2009-06-14 17:05 218 查看
以拖动一个文本对象为例

1、被拖放的Widget

重载虚函数

protected:

virtual void mousePressEvent(QMouseEvent*);

实现:

添加头文件qdragobject.h

mousePressEvent实现

{

//新建一个QDragObject类的对象

//QDragObject * pDragObj = new ...

QDragObject * pDragObj = new QTextDrag(...,this);

pDragObj->dragCopy();

}

2、接收的Widget

重载虚函数

protected:

virtual void dragEnterEvent(QDragEnterEvent*e);

virtual void dropEvent(QDropEvent*e);

实现:

添加头文件qdragobject.h

构造函数添加一行:

setAcceptDrops(TRUE);

dragEnterEvent实现

{

e->accept(QTextDrag::canDecode(e));

}

dropEvent实现

{

QString strText;

if(QTextDrag::decode(e,strText) )

{

...

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: