[Qt-qml] Disable an item in QAbstractListModel so it doesn't show up in a ListView

Pritam Ghanghas pritam_ghanghas at infosys.com
Thu Jun 23 11:55:18 CEST 2011


On Wed, 2011-06-22 at 22:32 +0530, Matt Barclay wrote:
> Hello,
> 
> 
> I have a C++ model derived from QAbstractListModel.  I want to disable
> certain elements of the model so they don't get a delegate in the
> ListView.  i.e. I want them hidden from the listview.  These elements
> can also be enabled under certain conditions.  Think if it like an
> inventory system where the item is not displayed with quantity equals
> 0, but as soon as quanity > 0 the item reappears in the ListView.
> 
> I tried using overriding QAbstractListModel::flags(index) and
> returning QAbstractListModel::flags(index) & ~Qt::ItemIsEnabled;  But
> that isn't the same thing as removing the item from the view.
> 
> 
> Is this possible?  I really want to avoid removing the item from the
> model, since visibility is a property of the item.
> 

Reimpliment this function 
QVariant QAbstractItemModel::data ( const QModelIndex & index, int role
= Qt::DisplayRole ) const
if you haven't done so yet, and return an invalid variant when you don't
want the item to appear in your view.

--
Pritam

> 
> Thanks,
> Matt
> 
> 


**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely 
for the use of the addressee(s). If you are not the intended recipient, please 
notify the sender by e-mail and delete the original message. Further, you are not 
to copy, disclose, or distribute this e-mail or its contents to any other person and 
any such actions are unlawful. This e-mail may contain viruses. Infosys has taken 
every reasonable precaution to minimize this risk, but is not liable for any damage 
you may sustain as a result of any virus in this e-mail. You should carry out your 
own virus checks before opening the e-mail or attachment. Infosys reserves the 
right to monitor and review the content of all messages sent to or from this e-mail 
address. Messages sent to or from this e-mail address may be stored on the 
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***


More information about the Qt-qml mailing list