QIconDrag(3qt)
π QIconDrag π
okay bestie, so this is a page from the 3qt manual (Qt 3, vintage, iconic, we love her) and today we're talking about QIconDrag β she's the one who supports drag and drop operations inside a QIconView. let's get into it π
β¨ NAME β¨
QIconDrag β supports drag and drop operations within a QIconView. that's it, that's the whole job, and she does it flawlessly π
πΈ SYNOPSIS πΈ
#include <qiconview.h>
Inherits QDragObject.
π Public Members
QIconDrag ( QWidget * dragSource, const char * name = 0 )
virtual ~QIconDrag ()
void append ( const QIconDragItem & i, const QRect & pr, const QRect & tr )
virtual QByteArray encodedData ( const char * mime ) const
π¦ Static Public Members
bool canDecode ( QMimeSource * e )
π« DESCRIPTION π«
The QIconDrag class supports drag and drop operations within a QIconView. no cap, that is literally her whole personality π«Ά
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. she's organized like that, she keeps receipts β¨
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(). that's the whole recipe bestie, three steps, chef's kiss π
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(). yes you're gonna have to reimplement all three, no shortcuts π
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. go read the example, it's giving tutorial energy π
See also QMimeSource::format() and Drag And Drop Classes.
π§ MEMBER FUNCTION DOCUMENTATION π§
π QIconDrag::QIconDrag ( QWidget * dragSource, const char * 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. so like, don't go using it after that, she's gone, periodt π
π QIconDrag::~QIconDrag () [virtual]
Destructor. bye bestie π
π void QIconDrag::append ( const QIconDragItem & i, const QRect & pr, const QRect & 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. both rects, don't skip them, she needs the tea πΈ
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. simple vibe check, yes or no β¨
Example: fileiconview/qfileiconview.cpp.
π QByteArray QIconDrag::encodedData ( const char * mime ) const [virtual]
Returns the encoded data of the drag object if mime is application/x-qiconlist. that specific mime type, don't forget it, iykyk π₯
Example: fileiconview/qfileiconview.cpp.
Reimplemented from QMimeSource.
π SEE ALSO π
π COPYRIGHT π
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.
ποΈ AUTHOR ποΈ
Generated automatically from the source code. (yes the author is a script, and honestly? she ate π )
π BUGS π
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you. (genuinely though, good bug reports are the love language of maintainers π«Ά)
The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.
If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qicondrag.3qt) and the Qt version (3.3.8).
okay that's the whole page bestie, you're officially fluent in QIconDrag π this lil' man page came to you courtesy of Trolltech AS, dated 2 February 2007, sitting pretty as version 3.3.8 of Qt β go forth and drag those icons, main character πππ¦
π¦ where this page comes from
- fedora 43: qt3-devel-docs 3.3.8b-102.fc43 Β· QPL-1.0 OR GPL-2.0-only OR GPL-3.0-only
- fedora 44: qt3-devel-docs 3.3.8b-103.fc44 Β· QPL-1.0 OR GPL-2.0-only OR GPL-3.0-only
- Copyright 1992-2007 Trolltech ASA. All rights reserved. See the
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms