QTreeView中的不可点击的项目?

时间:2012-11-05 02:31:57

标签: qt4

我使用QListWidgetQStackedWidget进行用户首选项配置,现在

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

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

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

有可能吗?

我只看到addItem函数,这似乎不适用于这种情况。

1 个答案:

答案 0 :(得分: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();