0

我现在使用QListWidgetwith aQStackedWidget进行用户偏好配置

我想添加一个“ non-clickable”项目,而不是编辑触发器,

我的意思是像一个指示器标签(下面的QLabel加号QLine小部件),但不允许用户点击它。

IE

---------------------------
| The Main Category Label |
---------------------------
| Clickable QStandardItem |
| Clickable QStandardItem |
| Clickable QStandardItem |
---------------------------
| The Secondary Category  |
---------------------------
| Clickable QStandardItem |
| Clickable QStandardItem |
| Clickable QStandardItem |
---------------------------

可能吗?

我只看到一个addItem功能,似乎不适用于这种情况。

4

1 回答 1

3

如果您使用的是 QListWidget,那么您应该添加仅带有Qt::ItemIsEnabled标志的 QListWidgetItem

QListWidget * wgt = new QListWidget;
QListWidgetItem * selectableItem = new QListWidgetItem("Selectable");
wgt->addItem(selectableItem);
QListWidgetItem * notSelectable = new QListWidgetItem("Not selectable");
notSelectable->setFlags(Qt::ItemIsEnabled);
wgt->addItem(notSelectable);
wgt->show();

要在项目上设置小部件:

QListWidget * wgt = new QListWidget;
QListWidgetItem * selectableItem = new QListWidgetItem("Selectable");
wgt->addItem(selectableItem);
wgt->setItemWidget(new QLineEdit());
QListWidgetItem * notSelectable = new QListWidgetItem("Not selectable");
notSelectable->setFlags(Qt::ItemIsEnabled);
wgt->addItem(notSelectable);
wgt->show();
于 2012-11-06T16:42:21.990 回答