<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qitemselectionmodel.cpp --> <title>QItemSelectionRange 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 >QItemSelectionRange</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="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QItemSelectionRange Class</h1> <!-- $$$QItemSelectionRange-brief --> <p>The <a href="qitemselectionrange.html">QItemSelectionRange</a> class manages information about a range of selected items in a model. <a href="#details">More...</a></p> <!-- @@@QItemSelectionRange --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QItemSelectionRange></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += core</td></tr></table></div><ul> <li><a href="qitemselectionrange-members.html">List of all members, including inherited members</a></li> <li><a href="qitemselectionrange-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="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#QItemSelectionRange-1">QItemSelectionRange</a></b>(const QItemSelectionRange &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#QItemSelectionRange-2">QItemSelectionRange</a></b>(QItemSelectionRange &&<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#QItemSelectionRange-3">QItemSelectionRange</a></b>(const QModelIndex &<i>topLeft</i>, const QModelIndex &<i>bottomRight</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#QItemSelectionRange-4">QItemSelectionRange</a></b>(const QModelIndex &<i>index</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#bottom">bottom</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> const QPersistentModelIndex &</td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#bottomRight">bottomRight</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#contains">contains</a></b>(const QModelIndex &<i>index</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#contains-1">contains</a></b>(int <i>row</i>, int <i>column</i>, const QModelIndex &<i>parentIndex</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#height">height</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QModelIndexList </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#indexes">indexes</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QItemSelectionRange </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#intersected">intersected</a></b>(const QItemSelectionRange &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#intersects">intersects</a></b>(const QItemSelectionRange &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#isEmpty">isEmpty</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#isValid">isValid</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#left">left</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> const QAbstractItemModel *</td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#model">model</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QModelIndex </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#parent">parent</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#right">right</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#swap">swap</a></b>(QItemSelectionRange &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#top">top</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> const QPersistentModelIndex &</td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#topLeft">topLeft</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#width">width</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#operator-not-eq">operator!=</a></b>(const QItemSelectionRange &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#operator-lt">operator<</a></b>(const QItemSelectionRange &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QItemSelectionRange &</td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#operator-eq">operator=</a></b>(QItemSelectionRange &&<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QItemSelectionRange &</td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#operator-eq-1">operator=</a></b>(const QItemSelectionRange &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qitemselectionrange.html#operator-eq-eq">operator==</a></b>(const QItemSelectionRange &<i>other</i>) const</td></tr> </table></div> <a name="details"></a> <!-- $$$QItemSelectionRange-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qitemselectionrange.html">QItemSelectionRange</a> class manages information about a range of selected items in a model.</p> <p>A <a href="qitemselectionrange.html">QItemSelectionRange</a> contains information about a range of selected items in a model. A range of items is a contiguous array of model items, extending to cover a number of adjacent rows and columns with a common parent item; this can be visualized as a two-dimensional block of cells in a table. A selection range has a <a href="qitemselectionrange.html#top">top</a>(), <a href="qitemselectionrange.html#left">left</a>() a <a href="qitemselectionrange.html#bottom">bottom</a>(), <a href="qitemselectionrange.html#right">right</a>() and a <a href="qitemselectionrange.html#parent">parent</a>().</p> <p>The <a href="qitemselectionrange.html">QItemSelectionRange</a> class is one of the <a href="../qtwidgets/model-view-programming.html#model-view-classes">Model/View Classes</a> and is part of Qt's <a href="../qtwidgets/model-view-programming.html">model/view framework</a>.</p> <p>The model items contained in the selection range can be obtained using the <a href="qitemselectionrange.html#indexes">indexes</a>() function. Use <a href="qitemselectionmodel.html#selectedIndexes">QItemSelectionModel::selectedIndexes</a>() to get a list of all selected items for a view.</p> <p>You can determine whether a given model item lies within a particular range by using the <a href="qitemselectionrange.html#contains">contains</a>() function. Ranges can also be compared using the overloaded operators for equality and inequality, and the <a href="qitemselectionrange.html#intersects">intersects</a>() function allows you to determine whether two ranges overlap.</p> </div> <p><b>See also </b><a href="../qtwidgets/model-view-programming.html">Model/View Programming</a>, <a href="qabstractitemmodel.html">QAbstractItemModel</a>, <a href="qitemselection.html">QItemSelection</a>, and <a href="qitemselectionmodel.html">QItemSelectionModel</a>.</p> <!-- @@@QItemSelectionRange --> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QItemSelectionRange[overload1]$$$QItemSelectionRange --> <h3 class="fn" id="QItemSelectionRange"><a name="QItemSelectionRange"></a>QItemSelectionRange::<span class="name">QItemSelectionRange</span>()</h3> <p>Constructs an empty selection range.</p> <!-- @@@QItemSelectionRange --> <!-- $$$QItemSelectionRange$$$QItemSelectionRangeconstQItemSelectionRange& --> <h3 class="fn" id="QItemSelectionRange-1"><a name="QItemSelectionRange-1"></a>QItemSelectionRange::<span class="name">QItemSelectionRange</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>)</h3> <p>Copy constructor. Constructs a new selection range with the same contents as the <i>other</i> range given.</p> <!-- @@@QItemSelectionRange --> <!-- $$$QItemSelectionRange$$$QItemSelectionRangeQItemSelectionRange&& --> <h3 class="fn" id="QItemSelectionRange-2"><a name="QItemSelectionRange-2"></a>QItemSelectionRange::<span class="name">QItemSelectionRange</span>(<span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &&<i>other</i>)</h3> <p>Move-copy constructor.</p><!-- @@@QItemSelectionRange --> <!-- $$$QItemSelectionRange$$$QItemSelectionRangeconstQModelIndex&constQModelIndex& --> <h3 class="fn" id="QItemSelectionRange-3"><a name="QItemSelectionRange-3"></a>QItemSelectionRange::<span class="name">QItemSelectionRange</span>(const <span class="type"><a href="qmodelindex.html">QModelIndex</a></span> &<i>topLeft</i>, const <span class="type"><a href="qmodelindex.html">QModelIndex</a></span> &<i>bottomRight</i>)</h3> <p>Constructs a new selection range containing only the index specified by the <i>topLeft</i> and the index <i>bottomRight</i>.</p> <!-- @@@QItemSelectionRange --> <!-- $$$QItemSelectionRange$$$QItemSelectionRangeconstQModelIndex& --> <h3 class="fn" id="QItemSelectionRange-4"><a name="QItemSelectionRange-4"></a>QItemSelectionRange::<span class="name">QItemSelectionRange</span>(const <span class="type"><a href="qmodelindex.html">QModelIndex</a></span> &<i>index</i>)</h3> <p>Constructs a new selection range containing only the model item specified by the model index <i>index</i>.</p> <!-- @@@QItemSelectionRange --> <!-- $$$bottom[overload1]$$$bottom --> <h3 class="fn" id="bottom"><a name="bottom"></a><span class="type">int</span> QItemSelectionRange::<span class="name">bottom</span>() const</h3> <p>Returns the row index corresponding to the lowermost selected row in the selection range.</p> <!-- @@@bottom --> <!-- $$$bottomRight[overload1]$$$bottomRight --> <h3 class="fn" id="bottomRight"><a name="bottomRight"></a>const <span class="type"><a href="qpersistentmodelindex.html">QPersistentModelIndex</a></span> &QItemSelectionRange::<span class="name">bottomRight</span>() const</h3> <p>Returns the index for the item located at the bottom-right corner of the selection range.</p> <p><b>See also </b><a href="qitemselectionrange.html#bottom">bottom</a>(), <a href="qitemselectionrange.html#right">right</a>(), and <a href="qitemselectionrange.html#topLeft">topLeft</a>().</p> <!-- @@@bottomRight --> <!-- $$$contains[overload1]$$$containsconstQModelIndex& --> <h3 class="fn" id="contains"><a name="contains"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">contains</span>(const <span class="type"><a href="qmodelindex.html">QModelIndex</a></span> &<i>index</i>) const</h3> <p>Returns <code>true</code> if the model item specified by the <i>index</i> lies within the range of selected items; otherwise returns <code>false</code>.</p> <!-- @@@contains --> <!-- $$$contains$$$containsintintconstQModelIndex& --> <h3 class="fn" id="contains-1"><a name="contains-1"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">contains</span>(<span class="type">int</span> <i>row</i>, <span class="type">int</span> <i>column</i>, const <span class="type"><a href="qmodelindex.html">QModelIndex</a></span> &<i>parentIndex</i>) const</h3> <p>This is an overloaded function.</p> <p>Returns <code>true</code> if the model item specified by (<i>row</i>, <i>column</i>) and with <i>parentIndex</i> as the parent item lies within the range of selected items; otherwise returns <code>false</code>.</p> <!-- @@@contains --> <!-- $$$height[overload1]$$$height --> <h3 class="fn" id="height"><a name="height"></a><span class="type">int</span> QItemSelectionRange::<span class="name">height</span>() const</h3> <p>Returns the number of selected rows in the selection range.</p> <!-- @@@height --> <!-- $$$indexes[overload1]$$$indexes --> <h3 class="fn" id="indexes"><a name="indexes"></a><span class="type"><a href="qmodelindex.html#QModelIndexList-typedef">QModelIndexList</a></span> QItemSelectionRange::<span class="name">indexes</span>() const</h3> <p>Returns the list of model index items stored in the selection.</p> <!-- @@@indexes --> <!-- $$$intersected[overload1]$$$intersectedconstQItemSelectionRange& --> <h3 class="fn" id="intersected"><a name="intersected"></a><span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> QItemSelectionRange::<span class="name">intersected</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>) const</h3> <p>Returns a new selection range containing only the items that are found in both the selection range and the <i>other</i> selection range.</p> <p>This function was introduced in Qt 4.2.</p> <!-- @@@intersected --> <!-- $$$intersects[overload1]$$$intersectsconstQItemSelectionRange& --> <h3 class="fn" id="intersects"><a name="intersects"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">intersects</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>) const</h3> <p>Returns <code>true</code> if this selection range intersects (overlaps with) the <i>other</i> range given; otherwise returns <code>false</code>.</p> <!-- @@@intersects --> <!-- $$$isEmpty[overload1]$$$isEmpty --> <h3 class="fn" id="isEmpty"><a name="isEmpty"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">isEmpty</span>() const</h3> <p>Returns <code>true</code> if the selection range contains no selectable item</p> <p>This function was introduced in Qt 4.7.</p> <!-- @@@isEmpty --> <!-- $$$isValid[overload1]$$$isValid --> <h3 class="fn" id="isValid"><a name="isValid"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">isValid</span>() const</h3> <p>Returns <code>true</code> if the selection range is valid; otherwise returns <code>false</code>.</p> <!-- @@@isValid --> <!-- $$$left[overload1]$$$left --> <h3 class="fn" id="left"><a name="left"></a><span class="type">int</span> QItemSelectionRange::<span class="name">left</span>() const</h3> <p>Returns the column index corresponding to the leftmost selected column in the selection range.</p> <!-- @@@left --> <!-- $$$model[overload1]$$$model --> <h3 class="fn" id="model"><a name="model"></a>const <span class="type"><a href="qabstractitemmodel.html">QAbstractItemModel</a></span> *QItemSelectionRange::<span class="name">model</span>() const</h3> <p>Returns the model that the items in the selection range belong to.</p> <!-- @@@model --> <!-- $$$parent[overload1]$$$parent --> <h3 class="fn" id="parent"><a name="parent"></a><span class="type"><a href="qmodelindex.html">QModelIndex</a></span> QItemSelectionRange::<span class="name">parent</span>() const</h3> <p>Returns the parent model item index of the items in the selection range.</p> <!-- @@@parent --> <!-- $$$right[overload1]$$$right --> <h3 class="fn" id="right"><a name="right"></a><span class="type">int</span> QItemSelectionRange::<span class="name">right</span>() const</h3> <p>Returns the column index corresponding to the rightmost selected column in the selection range.</p> <!-- @@@right --> <!-- $$$swap[overload1]$$$swapQItemSelectionRange& --> <h3 class="fn" id="swap"><a name="swap"></a><span class="type">void</span> QItemSelectionRange::<span class="name">swap</span>(<span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>)</h3> <p>Swaps this selection range's contents with <i>other</i>. This function is very fast and never fails.</p> <p>This function was introduced in Qt 5.6.</p> <!-- @@@swap --> <!-- $$$top[overload1]$$$top --> <h3 class="fn" id="top"><a name="top"></a><span class="type">int</span> QItemSelectionRange::<span class="name">top</span>() const</h3> <p>Returns the row index corresponding to the uppermost selected row in the selection range.</p> <!-- @@@top --> <!-- $$$topLeft[overload1]$$$topLeft --> <h3 class="fn" id="topLeft"><a name="topLeft"></a>const <span class="type"><a href="qpersistentmodelindex.html">QPersistentModelIndex</a></span> &QItemSelectionRange::<span class="name">topLeft</span>() const</h3> <p>Returns the index for the item located at the top-left corner of the selection range.</p> <p><b>See also </b><a href="qitemselectionrange.html#top">top</a>(), <a href="qitemselectionrange.html#left">left</a>(), and <a href="qitemselectionrange.html#bottomRight">bottomRight</a>().</p> <!-- @@@topLeft --> <!-- $$$width[overload1]$$$width --> <h3 class="fn" id="width"><a name="width"></a><span class="type">int</span> QItemSelectionRange::<span class="name">width</span>() const</h3> <p>Returns the number of selected columns in the selection range.</p> <!-- @@@width --> <!-- $$$operator!=[overload1]$$$operator!=constQItemSelectionRange& --> <h3 class="fn" id="operator-not-eq"><a name="operator-not-eq"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">operator!=</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>) const</h3> <p>Returns <code>true</code> if the selection range differs from the <i>other</i> range given; otherwise returns <code>false</code>.</p> <!-- @@@operator!= --> <!-- $$$operator<[overload1]$$$operator<constQItemSelectionRange& --> <h3 class="fn" id="operator-lt"><a name="operator-lt"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">operator<</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>) const</h3> <p>Returns <code>true</code> if the selection range is less than the <i>other</i> range given; otherwise returns <code>false</code>.</p> <p>The less than calculation is not directly useful to developers - the way that ranges with different parents compare is not defined. This operator only exists so that the class can be used with <a href="qmap.html">QMap</a>.</p> <!-- @@@operator< --> <!-- $$$operator=[overload1]$$$operator=QItemSelectionRange&& --> <h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &QItemSelectionRange::<span class="name">operator=</span>(<span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &&<i>other</i>)</h3> <p>Move-assignment operator.</p><!-- @@@operator= --> <!-- $$$operator=$$$operator=constQItemSelectionRange& --> <h3 class="fn" id="operator-eq-1"><a name="operator-eq-1"></a><span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &QItemSelectionRange::<span class="name">operator=</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>)</h3> <p>Copy-assignment operator.</p><!-- @@@operator= --> <!-- $$$operator==[overload1]$$$operator==constQItemSelectionRange& --> <h3 class="fn" id="operator-eq-eq"><a name="operator-eq-eq"></a><span class="type">bool</span> QItemSelectionRange::<span class="name">operator==</span>(const <span class="type"><a href="qitemselectionrange.html#QItemSelectionRange">QItemSelectionRange</a></span> &<i>other</i>) const</h3> <p>Returns <code>true</code> if the selection range is exactly the same as the <i>other</i> range given; otherwise returns <code>false</code>.</p> <!-- @@@operator== --> </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>