有沒有一種方法可以確定我正在查看的QTreeWidgetItem
是否爲頂級?如果項目是頂級(無父項),當我嘗試獲取父項的文本時,我的程序崩潰。查找QTreeWidgetItem是否爲頂級
4
A
回答
17
頂層 項和那些在較低級別 樹之間的主要區別在於一個頂級項目沒有 父()。這些信息可用於 來分辨項目之間的差異, ,並且在插入 並從樹中刪除項目時知道這一點很有用。
if (!node.parent()) {
// top-level item
}
3
,我建議你可以檢查QTreeWidgetItem的父爲NULL。
const int FIRST_NODE_INDEX = 0;
QTreeWidget* pTreeWidget = new QTreeWidget(this);
pTreeWidget->setColumnCount(1);
QList<QTreeWidgetItem *> ItemList;
for (int i = 0; i < 10; ++i)
{
ItemList.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
}
pTreeWidget->insertTopLevelItems(0, ItemList);
if(!ItemList.at(FIRST_NODE_INDEX)->parent())
{
qDebug() << "is TopLevel";
}
希望它有幫助!
2
treeWidget->indexOfTopLevelItem(item) > -1
2
頂級項目沒有父項目。
bool isTopLevelItem(QTreeWidgetItem* aItem)
{
return (aItem->parent() == nullptr);
}
或者使用lambda函數。
void function()
{
// ...
auto isTopLevel = [](QTreeWidgetItem* aItem){ return (aItem->parent() == nullptr); };
// ...
if (isTopLevel(item))
{
// ...
}
}
相關問題
- 1. 查找頂級父ID
- 2. QTreeWidgetItem通過文本查找孩子
- 3. SQL - 查找頂級父級和底級子級值
- 4. WordPress的 - 如何檢查菜單鏈接是否是頂級?
- 5. SQL Server CTE - 查找頂級parentID forEach childID?
- 6. SAS查找數據集頂級組合
- 7. 查找頂級家長和遞歸CTE
- 8. 查找父表是否爲
- 9. 查找函數是否爲
- 10. 如何從QTreeWidget中刪除頂層QTreeWidgetItem?
- 11. 如何查找或記錄打開頂級窗口的X11頂級窗口?
- 12. 查詢爲父子關係到頂級
- 13. logstash:找出頂級用戶
- 14. 是否允許在Java中聲明頂級類爲靜態
- 15. 是否有可能只爲移動服務頂級navi?
- 16. 找出UITableView是否滾動到頂部
- 17. 如何查找升壓圖中是否存在頂點?
- 18. 如何查找兩個頂點是否與Jung Framework連接?
- 19. 查找實體框架查詢頂級父
- 20. 查找日期ID是否爲
- 21. 查找JDK是否爲openJDK或Oracle JDK
- 22. 查找變量是否設置爲Java
- 23. 查找數字是否爲float64
- 24. 查找字符串是否爲路徑
- 25. 查找是否爲int下拉框
- 26. 如何查找輸入是否爲空?
- 27. Django查詢頂級模型
- 28. 檢查兩個頂點是否連接
- 29. 檢查UIImage是否在視圖頂部
- 30. HTTP引用者是否總是在頂級域名處結束?