<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qmimedata.cpp --> <title>QMimeData Class | Qt Core 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtcore-index.html">Qt Core</a></td><td ><a href="qtcore-module.html">C++ Classes</a></td><td >QMimeData</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtcore-index.html">Qt 5.12.6 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#static-public-members">Static Public Members</a></li> <li class="level1"><a href="#protected-functions">Protected Functions</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> <li class="level2"><a href="#platform-specific-mime-types">Platform-Specific MIME Types</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QMimeData Class</h1> <!-- $$$QMimeData-brief --> <p>The <a href="qmimedata.html">QMimeData</a> class provides a container for data that records information about its MIME type. <a href="#details">More...</a></p> <!-- @@@QMimeData --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QMimeData></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += core</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Inherits:</td><td class="memItemRight bottomAlign"> <a href="qobject.html">QObject</a></td></tr></table></div><ul> <li><a href="qmimedata-members.html">List of all members, including inherited members</a></li> <li><a href="qmimedata-obsolete.html">Obsolete members</a></li> </ul> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#QMimeData">QMimeData</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#dtor.QMimeData">~QMimeData</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#clear">clear</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#colorData">colorData</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QByteArray </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#data">data</a></b>(const QString &<i>mimeType</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual QStringList </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#formats">formats</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#hasColor">hasColor</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> virtual bool </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#hasFormat">hasFormat</a></b>(const QString &<i>mimeType</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#hasHtml">hasHtml</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#hasImage">hasImage</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#hasText">hasText</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#hasUrls">hasUrls</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#html">html</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#imageData">imageData</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#removeFormat">removeFormat</a></b>(const QString &<i>mimeType</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#setColorData">setColorData</a></b>(const QVariant &<i>color</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#setData">setData</a></b>(const QString &<i>mimeType</i>, const QByteArray &<i>data</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#setHtml">setHtml</a></b>(const QString &<i>html</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#setImageData">setImageData</a></b>(const QVariant &<i>image</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#setText">setText</a></b>(const QString &<i>text</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#setUrls">setUrls</a></b>(const QList<QUrl> &<i>urls</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#text">text</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QList<QUrl> </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#urls">urls</a></b>() const</td></tr> </table></div> <ul> <li class="fn">32 public functions inherited from <a href="qobject.html#public-functions">QObject</a></li> </ul> <a name="static-public-members"></a> <h2 id="static-public-members">Static Public Members</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> const QMetaObject </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#staticMetaObject-var">staticMetaObject</a></b></td></tr> </table></div> <ul> <li class="fn">10 static public members inherited from <a href="qobject.html#static-public-members">QObject</a></li> </ul> <a name="protected-functions"></a> <h2 id="protected-functions">Protected Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> virtual QVariant </td><td class="memItemRight bottomAlign"><b><a href="qmimedata.html#retrieveData">retrieveData</a></b>(const QString &<i>mimeType</i>, QVariant::Type <i>type</i>) const</td></tr> </table></div> <ul> <li class="fn">9 protected functions inherited from <a href="qobject.html#protected-functions">QObject</a></li> </ul> <h3>Additional Inherited Members</h3> <ul> <li class="fn">1 property inherited from <a href="qobject.html#properties">QObject</a></li> <li class="fn">1 public slot inherited from <a href="qobject.html#public-slots">QObject</a></li> <li class="fn">2 signals inherited from <a href="qobject.html#signals">QObject</a></li> </ul> <a name="details"></a> <!-- $$$QMimeData-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qmimedata.html">QMimeData</a> class provides a container for data that records information about its MIME type.</p> <p><a href="qmimedata.html">QMimeData</a> is used to describe information that can be stored in the <a href="../qtgui/qclipboard.html">clipboard</a>, and transferred via the <a href="../qtgui/qtgui-index.html#drag-and-drop">drag and drop</a> mechanism. <a href="qmimedata.html">QMimeData</a> objects associate the data that they hold with the corresponding MIME types to ensure that information can be safely transferred between applications, and copied around within the same application.</p> <p><a href="qmimedata.html">QMimeData</a> objects are usually created using <code>new</code> and supplied to <a href="../qtgui/qdrag.html">QDrag</a> or <a href="../qtgui/qclipboard.html">QClipboard</a> objects. This is to enable Qt to manage the memory that they use.</p> <p>A single <a href="qmimedata.html">QMimeData</a> object can store the same data using several different formats at the same time. The <a href="qmimedata.html#formats">formats</a>() function returns a list of the available formats in order of preference. The <a href="qmimedata.html#data">data</a>() function returns the raw data associated with a MIME type, and <a href="qmimedata.html#setData">setData</a>() allows you to set the data for a MIME type.</p> <p>For the most common MIME types, <a href="qmimedata.html">QMimeData</a> provides convenience functions to access the data:</p> <div class="table"><table class="generic"> <thead><tr class="qt-style"><th >Tester</th><th >Getter</th><th >Setter</th><th >MIME Types</th></tr></thead> <tr valign="top" class="odd"><td ><a href="qmimedata.html#hasText">hasText</a>()</td><td ><a href="qmimedata.html#text">text</a>()</td><td ><a href="qmimedata.html#setText">setText</a>()</td><td ><code>text/plain</code></td></tr> <tr valign="top" class="even"><td ><a href="qmimedata.html#hasHtml">hasHtml</a>()</td><td ><a href="qmimedata.html#html">html</a>()</td><td ><a href="qmimedata.html#setHtml">setHtml</a>()</td><td ><code>text/html</code></td></tr> <tr valign="top" class="odd"><td ><a href="qmimedata.html#hasUrls">hasUrls</a>()</td><td ><a href="qmimedata.html#urls">urls</a>()</td><td ><a href="qmimedata.html#setUrls">setUrls</a>()</td><td ><code>text/uri-list</code></td></tr> <tr valign="top" class="even"><td ><a href="qmimedata.html#hasImage">hasImage</a>()</td><td ><a href="qmimedata.html#imageData">imageData</a>()</td><td ><a href="qmimedata.html#setImageData">setImageData</a>()</td><td ><code>image/</code> *</td></tr> <tr valign="top" class="odd"><td ><a href="qmimedata.html#hasColor">hasColor</a>()</td><td ><a href="qmimedata.html#colorData">colorData</a>()</td><td ><a href="qmimedata.html#setColorData">setColorData</a>()</td><td ><code>application/x-color</code></td></tr> </table></div> <p>For example, if your write a widget that accepts URL drags, you would end up writing code like this:</p> <pre class="cpp"> <span class="type">void</span> MyWidget<span class="operator">::</span>dragEnterEvent(<span class="type"><a href="../qtgui/qdragenterevent.html">QDragEnterEvent</a></span> <span class="operator">*</span>event) { <span class="keyword">if</span> (event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>hasUrls()) event<span class="operator">-</span><span class="operator">></span>acceptProposedAction(); } <span class="type">void</span> MyWidget<span class="operator">::</span>dropEvent(<span class="type"><a href="../qtgui/qdropevent.html">QDropEvent</a></span> <span class="operator">*</span>event) { <span class="keyword">if</span> (event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>hasUrls()) { foreach (<span class="type"><a href="qurl.html">QUrl</a></span> url<span class="operator">,</span> event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>urls()) { <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> } } } </pre> <p>There are three approaches for storing custom data in a <a href="qmimedata.html">QMimeData</a> object:</p> <ol class="1" type="1"><li>Custom data can be stored directly in a <a href="qmimedata.html">QMimeData</a> object as a <a href="qbytearray.html">QByteArray</a> using <a href="qmimedata.html#setData">setData</a>(). For example:<pre class="cpp"> <span class="type"><a href="qbytearray.html">QByteArray</a></span> csvData <span class="operator">=</span> <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span>; <span class="type"><a href="qmimedata.html#QMimeData">QMimeData</a></span> <span class="operator">*</span>mimeData <span class="operator">=</span> <span class="keyword">new</span> <span class="type"><a href="qmimedata.html#QMimeData">QMimeData</a></span>; mimeData<span class="operator">-</span><span class="operator">></span>setData(<span class="string">"text/csv"</span><span class="operator">,</span> csvData); </pre> </li> <li>We can subclass <a href="qmimedata.html">QMimeData</a> and reimplement <a href="qmimedata.html#hasFormat">hasFormat</a>(), <a href="qmimedata.html#formats">formats</a>(), and <a href="qmimedata.html#retrieveData">retrieveData</a>().</li> <li>If the drag and drop operation occurs within a single application, we can subclass <a href="qmimedata.html">QMimeData</a> and add extra data in it, and use a <a href="qobject.html#qobject_cast">qobject_cast</a>() in the receiver's drop event handler. For example:<pre class="cpp"> <span class="type">void</span> MyWidget<span class="operator">::</span>dropEvent(<span class="type"><a href="../qtgui/qdropevent.html">QDropEvent</a></span> <span class="operator">*</span>event) { <span class="keyword">const</span> MyMimeData <span class="operator">*</span>myData <span class="operator">=</span> qobject_cast<span class="operator"><</span><span class="keyword">const</span> MyMimeData <span class="operator">*</span><span class="operator">></span>(event<span class="operator">-</span><span class="operator">></span>mimeData()); <span class="keyword">if</span> (myData) { <span class="comment">// access myData's data directly (not through QMimeData's API)</span> } } </pre> </li> </ol> <a name="platform-specific-mime-types"></a> <h3 >Platform-Specific MIME Types</h3> <p>On Windows, <a href="qmimedata.html#formats">formats</a>() will also return custom formats available in the MIME data, using the <code>x-qt-windows-mime</code> subtype to indicate that they represent data in non-standard formats. The formats will take the following form:</p> <pre class="cpp"> application<span class="operator">/</span>x<span class="operator">-</span>qt<span class="operator">-</span>windows<span class="operator">-</span>mime;value<span class="operator">=</span><span class="string">"<custom type>"</span> </pre> <p>The following are examples of custom MIME types:</p> <pre class="cpp"> application<span class="operator">/</span>x<span class="operator">-</span>qt<span class="operator">-</span>windows<span class="operator">-</span>mime;value<span class="operator">=</span><span class="string">"FileGroupDescriptor"</span> application<span class="operator">/</span>x<span class="operator">-</span>qt<span class="operator">-</span>windows<span class="operator">-</span>mime;value<span class="operator">=</span><span class="string">"FileContents"</span> </pre> <p>The <code>value</code> declaration of each format describes the way in which the data is encoded.</p> <p>In some cases (e.g. dropping multiple email attachments), multiple data values are available. They can be accessed by adding an <code>index</code> value:</p> <pre class="cpp"> application<span class="operator">/</span>x<span class="operator">-</span>qt<span class="operator">-</span>windows<span class="operator">-</span>mime;value<span class="operator">=</span><span class="string">"FileContents"</span>;index<span class="operator">=</span><span class="number">0</span> application<span class="operator">/</span>x<span class="operator">-</span>qt<span class="operator">-</span>windows<span class="operator">-</span>mime;value<span class="operator">=</span><span class="string">"FileContents"</span>;index<span class="operator">=</span><span class="number">1</span> </pre> <p>On Windows, the MIME format does not always map directly to the clipboard formats. Qt provides QWinMime to map clipboard formats to open-standard MIME formats. Similarly, the QMacPasteboardMime maps MIME to Mac flavors.</p> </div> <p><b>See also </b><a href="../qtgui/qclipboard.html">QClipboard</a>, <a href="../qtgui/qdragenterevent.html">QDragEnterEvent</a>, <a href="../qtgui/qdragmoveevent.html">QDragMoveEvent</a>, <a href="../qtgui/qdropevent.html">QDropEvent</a>, <a href="../qtgui/qdrag.html">QDrag</a>, QMacPasteboardMime, and <a href="../qtgui/qtgui-index.html#drag-and-drop">Drag and Drop</a>.</p> <!-- @@@QMimeData --> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QMimeData[overload1]$$$QMimeData --> <h3 class="fn" id="QMimeData"><a name="QMimeData"></a>QMimeData::<span class="name">QMimeData</span>()</h3> <p>Constructs a new MIME data object with no data in it.</p> <!-- @@@QMimeData --> <!-- $$$~QMimeData[overload1]$$$~QMimeData --> <h3 class="fn" id="dtor.QMimeData"><a name="dtor.QMimeData"></a><code>[virtual] </code>QMimeData::<span class="name">~QMimeData</span>()</h3> <p>Destroys the MIME data object.</p> <!-- @@@~QMimeData --> <!-- $$$clear[overload1]$$$clear --> <h3 class="fn" id="clear"><a name="clear"></a><span class="type">void</span> QMimeData::<span class="name">clear</span>()</h3> <p>Removes all the MIME type and data entries in the object.</p> <!-- @@@clear --> <!-- $$$colorData[overload1]$$$colorData --> <h3 class="fn" id="colorData"><a name="colorData"></a><span class="type"><a href="qvariant.html">QVariant</a></span> QMimeData::<span class="name">colorData</span>() const</h3> <p>Returns a color if the data stored in the object represents a color (MIME type <code>application/x-color</code>); otherwise returns a null variant.</p> <p>A <a href="qvariant.html">QVariant</a> is used because <a href="qmimedata.html">QMimeData</a> belongs to the Qt Core module, whereas <a href="../qtgui/qcolor.html">QColor</a> belongs to Qt GUI. To convert the <a href="qvariant.html">QVariant</a> to a <a href="../qtgui/qcolor.html">QColor</a>, simply use <a href="qvariant.html#qvariant_cast">qvariant_cast</a>(). For example:</p> <pre class="cpp"> <span class="keyword">if</span> (event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>hasColor()) { <span class="type"><a href="../qtgui/qcolor.html">QColor</a></span> color <span class="operator">=</span> qvariant_cast<span class="operator"><</span><span class="type"><a href="../qtgui/qcolor.html">QColor</a></span><span class="operator">></span>(event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>colorData()); <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> } </pre> <p><b>See also </b><a href="qmimedata.html#hasColor">hasColor</a>(), <a href="qmimedata.html#setColorData">setColorData</a>(), and <a href="qmimedata.html#data">data</a>().</p> <!-- @@@colorData --> <!-- $$$data[overload1]$$$dataconstQString& --> <h3 class="fn" id="data"><a name="data"></a><span class="type"><a href="qbytearray.html">QByteArray</a></span> QMimeData::<span class="name">data</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>mimeType</i>) const</h3> <p>Returns the data stored in the object in the format described by the MIME type specified by <i>mimeType</i>.</p> <p><b>See also </b><a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@data --> <!-- $$$formats[overload1]$$$formats --> <h3 class="fn" id="formats"><a name="formats"></a><code>[virtual] </code><span class="type"><a href="qstringlist.html">QStringList</a></span> QMimeData::<span class="name">formats</span>() const</h3> <p>Returns a list of formats supported by the object. This is a list of MIME types for which the object can return suitable data. The formats in the list are in a priority order.</p> <p>For the most common types of data, you can call the higher-level functions <a href="qmimedata.html#hasText">hasText</a>(), <a href="qmimedata.html#hasHtml">hasHtml</a>(), <a href="qmimedata.html#hasUrls">hasUrls</a>(), <a href="qmimedata.html#hasImage">hasImage</a>(), and <a href="qmimedata.html#hasColor">hasColor</a>() instead.</p> <p><b>See also </b><a href="qmimedata.html#hasFormat">hasFormat</a>(), <a href="qmimedata.html#setData">setData</a>(), and <a href="qmimedata.html#data">data</a>().</p> <!-- @@@formats --> <!-- $$$hasColor[overload1]$$$hasColor --> <h3 class="fn" id="hasColor"><a name="hasColor"></a><span class="type">bool</span> QMimeData::<span class="name">hasColor</span>() const</h3> <p>Returns <code>true</code> if the object can return a color (MIME type <code>application/x-color</code>); otherwise returns <code>false</code>.</p> <p><b>See also </b><a href="qmimedata.html#setColorData">setColorData</a>(), <a href="qmimedata.html#colorData">colorData</a>(), and <a href="qmimedata.html#hasFormat">hasFormat</a>().</p> <!-- @@@hasColor --> <!-- $$$hasFormat[overload1]$$$hasFormatconstQString& --> <h3 class="fn" id="hasFormat"><a name="hasFormat"></a><code>[virtual] </code><span class="type">bool</span> QMimeData::<span class="name">hasFormat</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>mimeType</i>) const</h3> <p>Returns <code>true</code> if the object can return data for the MIME type specified by <i>mimeType</i>; otherwise returns <code>false</code>.</p> <p>For the most common types of data, you can call the higher-level functions <a href="qmimedata.html#hasText">hasText</a>(), <a href="qmimedata.html#hasHtml">hasHtml</a>(), <a href="qmimedata.html#hasUrls">hasUrls</a>(), <a href="qmimedata.html#hasImage">hasImage</a>(), and <a href="qmimedata.html#hasColor">hasColor</a>() instead.</p> <p><b>See also </b><a href="qmimedata.html#formats">formats</a>(), <a href="qmimedata.html#setData">setData</a>(), and <a href="qmimedata.html#data">data</a>().</p> <!-- @@@hasFormat --> <!-- $$$hasHtml[overload1]$$$hasHtml --> <h3 class="fn" id="hasHtml"><a name="hasHtml"></a><span class="type">bool</span> QMimeData::<span class="name">hasHtml</span>() const</h3> <p>Returns <code>true</code> if the object can return HTML (MIME type <code>text/html</code>); otherwise returns <code>false</code>.</p> <p><b>See also </b><a href="qmimedata.html#setHtml">setHtml</a>(), <a href="qmimedata.html#html">html</a>(), and <a href="qmimedata.html#hasFormat">hasFormat</a>().</p> <!-- @@@hasHtml --> <!-- $$$hasImage[overload1]$$$hasImage --> <h3 class="fn" id="hasImage"><a name="hasImage"></a><span class="type">bool</span> QMimeData::<span class="name">hasImage</span>() const</h3> <p>Returns <code>true</code> if the object can return an image; otherwise returns false.</p> <p><b>See also </b><a href="qmimedata.html#setImageData">setImageData</a>(), <a href="qmimedata.html#imageData">imageData</a>(), and <a href="qmimedata.html#hasFormat">hasFormat</a>().</p> <!-- @@@hasImage --> <!-- $$$hasText[overload1]$$$hasText --> <h3 class="fn" id="hasText"><a name="hasText"></a><span class="type">bool</span> QMimeData::<span class="name">hasText</span>() const</h3> <p>Returns <code>true</code> if the object can return plain text (MIME type <code>text/plain</code>); otherwise returns <code>false</code>.</p> <p><b>See also </b><a href="qmimedata.html#setText">setText</a>(), <a href="qmimedata.html#text">text</a>(), <a href="qmimedata.html#hasHtml">hasHtml</a>(), and <a href="qmimedata.html#hasFormat">hasFormat</a>().</p> <!-- @@@hasText --> <!-- $$$hasUrls[overload1]$$$hasUrls --> <h3 class="fn" id="hasUrls"><a name="hasUrls"></a><span class="type">bool</span> QMimeData::<span class="name">hasUrls</span>() const</h3> <p>Returns <code>true</code> if the object can return a list of urls; otherwise returns <code>false</code>.</p> <p>URLs correspond to the MIME type <code>text/uri-list</code>.</p> <p><b>See also </b><a href="qmimedata.html#setUrls">setUrls</a>(), <a href="qmimedata.html#urls">urls</a>(), and <a href="qmimedata.html#hasFormat">hasFormat</a>().</p> <!-- @@@hasUrls --> <!-- $$$html[overload1]$$$html --> <h3 class="fn" id="html"><a name="html"></a><span class="type"><a href="qstring.html">QString</a></span> QMimeData::<span class="name">html</span>() const</h3> <p>Returns a string if the data stored in the object is HTML (MIME type <code>text/html</code>); otherwise returns an empty string.</p> <p><b>See also </b><a href="qmimedata.html#setHtml">setHtml</a>(), <a href="qmimedata.html#hasHtml">hasHtml</a>(), and <a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@html --> <!-- $$$imageData[overload1]$$$imageData --> <h3 class="fn" id="imageData"><a name="imageData"></a><span class="type"><a href="qvariant.html">QVariant</a></span> QMimeData::<span class="name">imageData</span>() const</h3> <p>Returns a <a href="qvariant.html">QVariant</a> storing a <a href="../qtgui/qimage.html">QImage</a> if the object can return an image; otherwise returns a null variant.</p> <p>A <a href="qvariant.html">QVariant</a> is used because <a href="qmimedata.html">QMimeData</a> belongs to the Qt Core module, whereas <a href="../qtgui/qimage.html">QImage</a> belongs to Qt GUI. To convert the <a href="qvariant.html">QVariant</a> to a <a href="../qtgui/qimage.html">QImage</a>, simply use <a href="qvariant.html#qvariant_cast">qvariant_cast</a>(). For example:</p> <pre class="cpp"> <span class="keyword">if</span> (event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>hasImage()) { <span class="type"><a href="../qtgui/qimage.html">QImage</a></span> image <span class="operator">=</span> qvariant_cast<span class="operator"><</span><span class="type"><a href="../qtgui/qimage.html">QImage</a></span><span class="operator">></span>(event<span class="operator">-</span><span class="operator">></span>mimeData()<span class="operator">-</span><span class="operator">></span>imageData()); <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> } </pre> <p><b>See also </b><a href="qmimedata.html#setImageData">setImageData</a>() and <a href="qmimedata.html#hasImage">hasImage</a>().</p> <!-- @@@imageData --> <!-- $$$removeFormat[overload1]$$$removeFormatconstQString& --> <h3 class="fn" id="removeFormat"><a name="removeFormat"></a><span class="type">void</span> QMimeData::<span class="name">removeFormat</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>mimeType</i>)</h3> <p>Removes the data entry for <i>mimeType</i> in the object.</p> <p>This function was introduced in Qt 4.4.</p> <!-- @@@removeFormat --> <!-- $$$retrieveData[overload1]$$$retrieveDataconstQString&QVariant::Type --> <h3 class="fn" id="retrieveData"><a name="retrieveData"></a><code>[virtual protected] </code><span class="type"><a href="qvariant.html">QVariant</a></span> QMimeData::<span class="name">retrieveData</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>mimeType</i>, <span class="type"><a href="qvariant-obsolete.html#Type-enum">QVariant::Type</a></span> <i>type</i>) const</h3> <p>Returns a variant with the given <i>type</i> containing data for the MIME type specified by <i>mimeType</i>. If the object does not support the MIME type or variant type given, a null variant is returned instead.</p> <p>This function is called by the general <a href="qmimedata.html#data">data</a>() getter and by the convenience getters (<a href="qmimedata.html#text">text</a>(), <a href="qmimedata.html#html">html</a>(), <a href="qmimedata.html#urls">urls</a>(), <a href="qmimedata.html#imageData">imageData</a>(), and <a href="qmimedata.html#colorData">colorData</a>()). You can reimplement it if you want to store your data using a custom data structure (instead of a <a href="qbytearray.html">QByteArray</a>, which is what <a href="qmimedata.html#setData">setData</a>() provides). You would then also need to reimplement <a href="qmimedata.html#hasFormat">hasFormat</a>() and <a href="qmimedata.html#formats">formats</a>().</p> <p><b>See also </b><a href="qmimedata.html#data">data</a>().</p> <!-- @@@retrieveData --> <!-- $$$setColorData[overload1]$$$setColorDataconstQVariant& --> <h3 class="fn" id="setColorData"><a name="setColorData"></a><span class="type">void</span> QMimeData::<span class="name">setColorData</span>(const <span class="type"><a href="qvariant.html">QVariant</a></span> &<i>color</i>)</h3> <p>Sets the color data in the object to the given <i>color</i>.</p> <p>Colors correspond to the MIME type <code>application/x-color</code>.</p> <p><b>See also </b><a href="qmimedata.html#colorData">colorData</a>(), <a href="qmimedata.html#hasColor">hasColor</a>(), and <a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@setColorData --> <!-- $$$setData[overload1]$$$setDataconstQString&constQByteArray& --> <h3 class="fn" id="setData"><a name="setData"></a><span class="type">void</span> QMimeData::<span class="name">setData</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>mimeType</i>, const <span class="type"><a href="qbytearray.html">QByteArray</a></span> &<i>data</i>)</h3> <p>Sets the data associated with the MIME type given by <i>mimeType</i> to the specified <i>data</i>.</p> <p>For the most common types of data, you can call the higher-level functions <a href="qmimedata.html#setText">setText</a>(), <a href="qmimedata.html#setHtml">setHtml</a>(), <a href="qmimedata.html#setUrls">setUrls</a>(), <a href="qmimedata.html#setImageData">setImageData</a>(), and <a href="qmimedata.html#setColorData">setColorData</a>() instead.</p> <p>Note that if you want to use a custom data type in an item view drag and drop operation, you must register it as a Qt <a href="qmetatype.html">meta type</a>, using the <a href="qmetatype.html#Q_DECLARE_METATYPE">Q_DECLARE_METATYPE</a>() macro, and implement stream operators for it. The stream operators must then be registered with the <a href="qmetatype.html#qRegisterMetaTypeStreamOperators">qRegisterMetaTypeStreamOperators</a>() function.</p> <p><b>See also </b><a href="qmimedata.html#data">data</a>(), <a href="qmimedata.html#hasFormat">hasFormat</a>(), <a href="qmetatype.html">QMetaType</a>, and <a href="qmetatype.html#qRegisterMetaTypeStreamOperators">qRegisterMetaTypeStreamOperators</a>().</p> <!-- @@@setData --> <!-- $$$setHtml[overload1]$$$setHtmlconstQString& --> <h3 class="fn" id="setHtml"><a name="setHtml"></a><span class="type">void</span> QMimeData::<span class="name">setHtml</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>html</i>)</h3> <p>Sets <i>html</i> as the HTML (MIME type <code>text/html</code>) used to represent the data.</p> <p><b>See also </b><a href="qmimedata.html#html">html</a>(), <a href="qmimedata.html#hasHtml">hasHtml</a>(), <a href="qmimedata.html#setText">setText</a>(), and <a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@setHtml --> <!-- $$$setImageData[overload1]$$$setImageDataconstQVariant& --> <h3 class="fn" id="setImageData"><a name="setImageData"></a><span class="type">void</span> QMimeData::<span class="name">setImageData</span>(const <span class="type"><a href="qvariant.html">QVariant</a></span> &<i>image</i>)</h3> <p>Sets the data in the object to the given <i>image</i>.</p> <p>A <a href="qvariant.html">QVariant</a> is used because <a href="qmimedata.html">QMimeData</a> belongs to the Qt Core module, whereas <a href="../qtgui/qimage.html">QImage</a> belongs to Qt GUI. The conversion from <a href="../qtgui/qimage.html">QImage</a> to <a href="qvariant.html">QVariant</a> is implicit. For example:</p> <pre class="cpp"> mimeData<span class="operator">-</span><span class="operator">></span>setImageData(<span class="type"><a href="../qtgui/qimage.html">QImage</a></span>(<span class="string">"beautifulfjord.png"</span>)); </pre> <p><b>See also </b><a href="qmimedata.html#imageData">imageData</a>(), <a href="qmimedata.html#hasImage">hasImage</a>(), and <a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@setImageData --> <!-- $$$setText[overload1]$$$setTextconstQString& --> <h3 class="fn" id="setText"><a name="setText"></a><span class="type">void</span> QMimeData::<span class="name">setText</span>(const <span class="type"><a href="qstring.html">QString</a></span> &<i>text</i>)</h3> <p>Sets <i>text</i> as the plain text (MIME type <code>text/plain</code>) used to represent the data.</p> <p><b>See also </b><a href="qmimedata.html#text">text</a>(), <a href="qmimedata.html#hasText">hasText</a>(), <a href="qmimedata.html#setHtml">setHtml</a>(), and <a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@setText --> <!-- $$$setUrls[overload1]$$$setUrlsconstQList<QUrl>& --> <h3 class="fn" id="setUrls"><a name="setUrls"></a><span class="type">void</span> QMimeData::<span class="name">setUrls</span>(const <span class="type"><a href="qlist.html">QList</a></span><<span class="type"><a href="qurl.html">QUrl</a></span>> &<i>urls</i>)</h3> <p>Sets the URLs stored in the MIME data object to those specified by <i>urls</i>.</p> <p>URLs correspond to the MIME type <code>text/uri-list</code>.</p> <p>Since Qt 5.0, setUrls also exports the urls as plain text, if <a href="qmimedata.html#setText">setText</a> was not called before, to make it possible to drop them into any lineedit and text editor.</p> <p><b>See also </b><a href="qmimedata.html#urls">urls</a>(), <a href="qmimedata.html#hasUrls">hasUrls</a>(), and <a href="qmimedata.html#setData">setData</a>().</p> <!-- @@@setUrls --> <!-- $$$text[overload1]$$$text --> <h3 class="fn" id="text"><a name="text"></a><span class="type"><a href="qstring.html">QString</a></span> QMimeData::<span class="name">text</span>() const</h3> <p>Returns a plain text (MIME type <code>text/plain</code>) representation of the data.</p> <p><b>See also </b><a href="qmimedata.html#setText">setText</a>(), <a href="qmimedata.html#hasText">hasText</a>(), <a href="qmimedata.html#html">html</a>(), and <a href="qmimedata.html#data">data</a>().</p> <!-- @@@text --> <!-- $$$urls[overload1]$$$urls --> <h3 class="fn" id="urls"><a name="urls"></a><span class="type"><a href="qlist.html">QList</a></span><<span class="type"><a href="qurl.html">QUrl</a></span>> QMimeData::<span class="name">urls</span>() const</h3> <p>Returns a list of URLs contained within the MIME data object.</p> <p>URLs correspond to the MIME type <code>text/uri-list</code>.</p> <p><b>See also </b><a href="qmimedata.html#setUrls">setUrls</a>(), <a href="qmimedata.html#hasUrls">hasUrls</a>(), and <a href="qmimedata.html#data">data</a>().</p> <!-- @@@urls --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>