2012-11-05 102 views
0

我用一個QStackedWidget一個QListWidget用戶偏好的配置,現在QTreeView中的非可點擊項目?

我想補充一個「非點擊」項目,而不是編輯觸發器,我的意思是像一個指示標籤(該QLabel加上QLine部件在下面),但不允許用戶點擊它。

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

這可能嗎?我只看到一個addItem函數,這似乎並不適合這種情況。

回答

3

如果你使用QListWidget就應該添加QListWidgetItem只有Qt::ItemIsEnabled標誌

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(); 
+0

這是很好的,但對於「QLine」窗口小部件?我需要使用Qt的委託模塊還是什麼? – daisy

+0

@ warl0ck你可以使用setItemWidget - 有時候閱讀文檔;) –