forked from Rowland/EG
1.0 update
This commit is contained in:
parent
05dec0d62d
commit
cf2bfb0fcc
2
.idea/AugmentWebviewStateStore.xml
generated
2
.idea/AugmentWebviewStateStore.xml
generated
File diff suppressed because one or more lines are too long
@ -119,26 +119,26 @@ class InterfaceManager:
|
||||
|
||||
print("\n=== 更新场景树 ===")
|
||||
self.treeWidget.clear()
|
||||
|
||||
|
||||
# 创建场景根节点
|
||||
sceneRoot = QTreeWidgetItem(self.treeWidget, ['场景'])
|
||||
|
||||
|
||||
# 添加相机节点
|
||||
cameraItem = QTreeWidgetItem(sceneRoot, ['相机'])
|
||||
cameraItem.setData(0, Qt.UserRole, self.world.cam)
|
||||
print("添加相机节点")
|
||||
|
||||
|
||||
# 添加模型节点组
|
||||
modelsItem = QTreeWidgetItem(sceneRoot, ['模型'])
|
||||
print(f"模型列表中的模型数量: {len(self.world.models)}")
|
||||
|
||||
|
||||
# 添加GUI元素节点组
|
||||
guiItem = QTreeWidgetItem(sceneRoot, ['GUI元素'])
|
||||
print(f"GUI元素数量: {len(self.world.gui_elements)}")
|
||||
|
||||
lightItem = QTreeWidgetItem(sceneRoot,['灯光'])
|
||||
|
||||
|
||||
|
||||
# 递归添加节点及其子节点
|
||||
def addNodeToTree(node, parentItem):
|
||||
print(f"\n处理节点: {node.getName()}")
|
||||
@ -146,29 +146,29 @@ class InterfaceManager:
|
||||
nodeItem = QTreeWidgetItem(parentItem, [node.getName()])
|
||||
nodeItem.setData(0, Qt.UserRole, node)
|
||||
print(f"添加节点: {node.getName()}")
|
||||
|
||||
|
||||
# 递归处理所有子节点
|
||||
for child in node.getChildren():
|
||||
# 检查是否是有效的模型节点
|
||||
if (isinstance(child.node(), GeomNode) or
|
||||
child.hasTag("file") or
|
||||
if (isinstance(child.node(), GeomNode) or
|
||||
child.hasTag("file") or
|
||||
child.getName() == "RootNode" or
|
||||
isinstance(child.node(), ModelRoot)):
|
||||
print(f"处理子节点: {child.getName()}")
|
||||
addNodeToTree(child, nodeItem)
|
||||
else:
|
||||
print(f"跳过节点: {child.getName()}")
|
||||
|
||||
|
||||
# 添加所有模型及其子节点
|
||||
for model in self.world.models:
|
||||
print(f"\n处理根模型: {model.getName()}")
|
||||
addNodeToTree(model, modelsItem)
|
||||
|
||||
|
||||
# 添加所有GUI元素
|
||||
for gui_element in self.world.gui_elements:
|
||||
gui_type = gui_element.getTag("gui_type") if hasattr(gui_element, 'getTag') else "unknown"
|
||||
gui_text = gui_element.getTag("gui_text") if hasattr(gui_element, 'getTag') else "GUI元素"
|
||||
|
||||
|
||||
display_name = f"{gui_type}: {gui_text}"
|
||||
guiElementItem = QTreeWidgetItem(guiItem, [display_name])
|
||||
guiElementItem.setData(0, Qt.UserRole, gui_element)
|
||||
@ -178,13 +178,13 @@ class InterfaceManager:
|
||||
addNodeToTree(light_element,lightItem)
|
||||
for light_element in self.world.Pointlight:
|
||||
addNodeToTree(light_element,lightItem)
|
||||
|
||||
|
||||
# 添加地板节点
|
||||
if hasattr(self.world, 'ground'):
|
||||
groundItem = QTreeWidgetItem(sceneRoot, ['地板'])
|
||||
groundItem.setData(0, Qt.UserRole, self.world.ground)
|
||||
print("添加地板节点")
|
||||
|
||||
|
||||
# 展开所有节点
|
||||
self.treeWidget.expandAll()
|
||||
print("=== 场景树更新完成 ===\n")
|
||||
|
||||
@ -314,7 +314,7 @@ class CustomTreeWidget(QTreeWidget):
|
||||
|
||||
self.setupDragDrop() # 设置拖拽功能
|
||||
|
||||
self.setDragDropMode(QTreeWidget.InternalMove)
|
||||
# self.setDragDropMode(QTreeWidget.InternalMove)
|
||||
|
||||
|
||||
def setupUI(self):
|
||||
@ -329,8 +329,6 @@ class CustomTreeWidget(QTreeWidget):
|
||||
# 使用自定义拖拽模式
|
||||
self.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) # 或者使用 DragDrop
|
||||
self.setDefaultDropAction(Qt.DropAction.MoveAction)
|
||||
self.setDragEnabled(True)
|
||||
self.setAcceptDrops(True)
|
||||
|
||||
def dropEvent(self, event):
|
||||
"""处理拖放事件"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user