0

我正在使用 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);
}

我需要确保我没有管理未分配或未归档项目指针的操作。

4

1 回答 1

2

selectedItems()函数返回一个项目列表。由于那是一个QList,您可以使用item.empty()它来查看它是否为空。

于 2014-12-08T22:05:43.623 回答