2014-04-16 3 views
3

qtreewigetitem에 체크 박스를 추가하려면이 코드를 setflag으로 시도한 다음 항목을 추가하여 문제를 해결할 수 있지만 문제가 해결되지 않을 경우 어떻게됩니까? 항목에 check box을 추가 할 수 있습니까?qtreewidgetitem에 체크 박스를 추가하십시오

QTreeWidgetItem* item = new QTreeWidgetItem(); 
item->setFlags(item->flags() | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable); 
item->setCheckState(Qt::Checked); 
m_eventList->addTopLevelItem(item); 

또 다른 방법은 자신의 모델을 작성하고 flags() 방법을 덮어 쓰기하는 것입니다 : 사전에 코드를 재구성

m_eventList->addTopLevelItem(new QTreeWidgetItem); 
     QTreeWidgetItem *item = m_eventList->topLevelItem(m_eventList->topLevelItemCount()-1) 

    item->setFlags(item->flags() | Qt::ItemIsUserCheckable |Qt::ItemIsSelectable); 

답변

4

시도를 감사합니다. 그게 문제가되지 않습니다 그래서이 방법에서는,

Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable; 
if (index.column() == 0) 
{ 
    flags |= Qt::ItemIsUserCheckable; 
} 
return flags; 
6

ItemIsUserCheckable 플래그가 이미 QTreeWidgetItem에서 기본적으로 설정을 반환합니다.

는 당신이 필요로

item->setCheckState(Qt::Unchecked); 

을하는 것입니다 당신은 체크 박스를 볼 수 있습니다.

관련 문제