Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > d5e62c01ae8d1e579463c6a871dd44bf > files > 579

qtbase5-doc-5.12.6-2.mga7.noarch.rpm

<?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 &lt;QMimeData&gt;</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 &amp;<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 &amp;<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 &amp;<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 &amp;<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 &amp;<i>mimeType</i>, const QByteArray &amp;<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 &amp;<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 &amp;<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 &amp;<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&lt;QUrl&gt; &amp;<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&lt;QUrl&gt; </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 &amp;<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">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</span>hasUrls())
          event<span class="operator">-</span><span class="operator">&gt;</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">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</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">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</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">&gt;</span>setData(<span class="string">&quot;text/csv&quot;</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">&lt;</span><span class="keyword">const</span> MyMimeData <span class="operator">*</span><span class="operator">&gt;</span>(event<span class="operator">-</span><span class="operator">&gt;</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 id="platform-specific-mime-types">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">&quot;&lt;custom type&gt;&quot;</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">&quot;FileGroupDescriptor&quot;</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">&quot;FileContents&quot;</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&#x2e; 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">&quot;FileContents&quot;</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">&quot;FileContents&quot;</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">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</span>hasColor()) {
      <span class="type"><a href="../qtgui/qcolor.html">QColor</a></span> color <span class="operator">=</span> qvariant_cast<span class="operator">&lt;</span><span class="type"><a href="../qtgui/qcolor.html">QColor</a></span><span class="operator">&gt;</span>(event<span class="operator">-</span><span class="operator">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</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> &amp;<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> &amp;<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">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</span>hasImage()) {
      <span class="type"><a href="../qtgui/qimage.html">QImage</a></span> image <span class="operator">=</span> qvariant_cast<span class="operator">&lt;</span><span class="type"><a href="../qtgui/qimage.html">QImage</a></span><span class="operator">&gt;</span>(event<span class="operator">-</span><span class="operator">&gt;</span>mimeData()<span class="operator">-</span><span class="operator">&gt;</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> &amp;<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> &amp;<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> &amp;<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> &amp;<i>mimeType</i>, const <span class="type"><a href="qbytearray.html">QByteArray</a></span> &amp;<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> &amp;<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> &amp;<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">&gt;</span>setImageData(<span class="type"><a href="../qtgui/qimage.html">QImage</a></span>(<span class="string">&quot;beautifulfjord.png&quot;</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> &amp;<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>&lt;<span class="type"><a href="qurl.html">QUrl</a></span>&gt; &amp;<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>&lt;<span class="type"><a href="qurl.html">QUrl</a></span>&gt; 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">&copy;</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>