2014-12-08 3 views
0

QTreeViewItem 및 QList와 함께 작업하고 있습니다.QList 문

내 C++/Qt 앱에서 수행중인 작업은 여러 요소가 포함 된 TreeView를 작성하는 것입니다.

전용 작업을 클릭하면 내 트리보기의 항목이 선택되어 있는지 확인하고 항목과 연관된 이름을 가져옵니다. 이것은 잘 작동하지만, 어떤 행동을하기 전에, 나는 내가 무언가를 선택했는지 안했는지 알아야합니다. 그러나 결과가 0 또는 다른 값인지 테스트 할 수있는 방법은 없습니다.

void MainWindow::onAddFolderAction() { 
    uint32_t index; 
    uint32_t parent_id; 

    QList<QTreeWidgetItem*> item = MyTree->selectedItems(); 
    if (item == 0) { // ISSUE 
     parent_id = 0; 
    } else { 
     QString str = item[0]->text(0); 
     QByteArray latin_str = str.toLatin1(); 
     char *utf8_text = latin_str.data(); 

     index = m_device.getIdByName(utf8_text); 
     // parent_id = m_device.getIdParent(index); 
    } 

    m_device.CreateNewFolder("New Folder", index); 
    MyTree->clear(); 
    DisplayTree(0, 0); 
} 

할당되지 않았거나 치료되지 않은 항목 포인터에 대한 작업을 관리하고 있지 않은지 확인해야합니다.

답변

2

selectedItems() 함수는 항목 목록을 반환합니다. 그것이 QList이므로 item.empty()을 사용하여 비어 있는지 확인할 수 있습니다.

관련 문제