Оператор QList

Я работаю с QTreeViewItem, а также с 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);
}

Мне нужно убедиться, что я не управляю действием над нераспределенным или незарегистрированным указателем элемента.


person Seb    schedule 08.12.2014    source источник


Ответы (1)


Функция selectedItems() возвращает список элементов. Поскольку это QList, вы можете просто использовать item.empty(), чтобы узнать, пустой.

person Benjamin Maurer    schedule 08.12.2014