返回介绍

QIconDrag Class

发布于 2019-10-04 15:00:39 字数 3214 浏览 973 评论 0 收藏 0

The QIconDrag class supports drag and drop operations within a QIconView. More...

#include <qiconview.h>

Inherits QDragObject.

List of all member functions.

Public Members

  • QIconDrag ( QWidget*dragSource, constchar*name = 0 )
  • virtual ~QIconDrag ()
  • void append ( constQIconDragItem&i, constQRect&pr, constQRect&tr )
  • virtual QByteArray encodedData ( constchar*mime ) const

Static Public Members

  • bool canDecode ( QMimeSource*e )

Detailed Description

The QIconDrag class supports drag and drop operations within a QIconView.

A QIconDrag object is used to maintain information about the positions of dragged items and the data associated with the dragged items. QIconViews are able to use this information to paint the dragged items in the correct positions. Internally QIconDrag stores the data associated with drag items in QIconDragItem objects.

If you want to use the extended drag-and-drop functionality of QIconView, create a QIconDrag object in a reimplementation of QIconView::dragObject(). Then create a QIconDragItem for each item which should be dragged, set the data it represents with QIconDragItem::setData(), and add each QIconDragItem to the drag object using append().

The data in QIconDragItems is stored in a QByteArray and is mime-typed (see QMimeSource and the Drag and Drop overview). If you want to use your own mime-types derive a class from QIconDrag and reimplement format(), encodedData() and canDecode().

The fileiconview example program demonstrates the use of the QIconDrag class including subclassing and reimplementing dragObject(), format(), encodedData() and canDecode(). See the files qt/examples/fileiconview/qfileiconview.h and qt/examples/fileiconview/qfileiconview.cpp.

See also QMimeSource::format() and Drag And Drop Classes.


Member Function Documentation

QIconDrag::QIconDrag ( QWidget*dragSource, constchar*name = 0 )

Constructs a drag object called name, which is a child of dragSource.

Note that the drag object will be deleted when dragSource is deleted.

QIconDrag::~QIconDrag () [virtual]

Destructor.

void QIconDrag::append ( constQIconDragItem&i, constQRect&pr, constQRect&tr )

Append the QIconDragItem, i, to the QIconDrag object's list of items. You must also supply the geometry of the pixmap, pr, and the textual caption, tr.

See also QIconDragItem.

Example: fileiconview/qfileiconview.cpp.

bool QIconDrag::canDecode ( QMimeSource*e ) [static]

Returns TRUE if e can be decoded by the QIconDrag, otherwise return FALSE.

Example: fileiconview/qfileiconview.cpp.

QByteArray QIconDrag::encodedData ( constchar*mime ) const [virtual]

Returns the encoded data of the drag object if mime is application/x-qiconlist.

Example: fileiconview/qfileiconview.cpp.

Reimplemented from QMimeSource.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文