From 2cc17e9db35738211af4a72101a6aa3d2b769d3e Mon Sep 17 00:00:00 2001 From: Polaris-Night <158275221@qq.com> Date: Mon, 3 Mar 2025 21:14:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DFluTreeModel::setDataSource?= =?UTF-8?q?=E5=86=85=E5=AD=98=E6=B3=84=E6=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/FluTreeModel.cpp | 4 ++-- src/Qt5/imports/FluentUI/Controls/FluTreeView.qml | 1 + src/Qt6/imports/FluentUI/Controls/FluTreeView.qml | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/FluTreeModel.cpp b/src/FluTreeModel.cpp index de9aae3f..f662a15c 100644 --- a/src/FluTreeModel.cpp +++ b/src/FluTreeModel.cpp @@ -107,7 +107,7 @@ void FluTreeModel::checkRow(int row, bool checked) { void FluTreeModel::setDataSource(QList> data) { _dataSource.clear(); if (_root) { - delete _root; + _root->deleteLater(); _root = nullptr; } _root = new FluTreeNode(this); @@ -115,7 +115,7 @@ void FluTreeModel::setDataSource(QList> data) { while (data.count() > 0) { auto item = data.at(data.count() - 1); data.pop_back(); - auto *node = new FluTreeNode(this); + auto *node = new FluTreeNode(_root); node->_depth = item.value("__depth").toInt(); node->_parent = item.value("__parent").value(); node->_data = item; diff --git a/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml b/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml index df160026..112ad209 100644 --- a/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/Qt5/imports/FluentUI/Controls/FluTreeView.qml @@ -474,6 +474,7 @@ Rectangle { } return {} } + active: rowModel !== undefined && rowModel !== null sourceComponent: { if(column === 0) return com_column diff --git a/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml b/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml index 2f5df3e6..7592e3e7 100644 --- a/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml +++ b/src/Qt6/imports/FluentUI/Controls/FluTreeView.qml @@ -474,6 +474,7 @@ Rectangle { } return {} } + active: rowModel !== undefined && rowModel !== null sourceComponent: { if(column === 0) return com_column