2014-12-08 5 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(), чтобы узнать, пуст ли он.