我正在和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);
}我需要确保我不是在管理未分配或未归档的项指针上的操作。
发布于 2014-12-09 06:05:44
selectedItems()函数返回一个项目列表。由于这是一个QList,您可以只使用item.empty()来查看它是否为空。
https://stackoverflow.com/questions/27367259
复制相似问题