Solved How to disable a qlistwidget item in Qt C++
-
hi, i came across an situation that needs to disable a specific item in a qlistwidget , i didn't find any method like setenable(bool)/setdisable(bool).
so any idea do you, to resolve this, please help in this regard. -
Hi
You can make it not select able
item->setFlags(item->flags() & ~Qt::ItemIsSelectable); -
-
@mrjj
hi thanks for rply, i tried as u suggested but doesn't make sense.ui->listWidget_CPUs->item(0)->setFlags( ui->listWidget_CPUs->item(0)->flags() & ~Qt::ItemIsSelectable);
-
If so, what @Paul-Colby already proposed is what you want.
-
In what way "doesn't make sense." ?
-
@Paul-Colby,Hi thanks for reply,
how to re-enable it back after disabling bcoz the above code will disable permanantly, i need to enable back it again. -
Hi just remove the
~
item->setFlags(item->flags() & Qt::ItemIsEnabled); -
@mrjj , @Paul-Colby
That won't work, I think, once the flags have been set. He'll want:ui->listWidget_CPUs->item(0)->setFlags( ui->listWidget_CPUs->item(0)->flags() | Qt::ItemIsSelectable);
-
@JonB @mrjj , @Paul-Colby
I tried thisui->listWidget_CPUs->item(0)->setFlags( ui->listWidget_CPUs->item(0)->flags() | Qt::ItemIsSelectable);
doesn't working, i want to enable it again after disabling.
-
You can try this:
ui->listWidget_CPUs->item(0)->setFlags(ui->listWidget_CPUs->item(0)->flags() ^ Qt::ItemIsEnabled);
// both enable or disable, toggle mode -
@moyin
Well, ifui->listWidget_CPUs->item(0)->flags() & ~Qt::ItemIsSelectable
disables it, thenui->listWidget_CPUs->item(0)->flags() | Qt::ItemIsSelectable
undoes the effect of the first statement....I suppose you could try
ui->listWidget_CPUs->item(0)->flags() | Qt::ItemIsSelectable | Qt::ItemIsEnabled
, but I don't see why you should have to. -
@JonB yes! it works fine thank you,