diff --git a/crystalfly/VTK Error Out.txt b/crystalfly/VTK Error Out.txt index 19a514d..68bf22d 100644 --- a/crystalfly/VTK Error Out.txt +++ b/crystalfly/VTK Error Out.txt @@ -1,8 +1,244 @@ ERROR: In vtkDemandDrivenPipeline.cxx, line 677 -vtkCompositeDataPipeline (00000233450F5040): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (0000023343594B20) has 0 connections but is not optional. +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. ERROR: In vtkDemandDrivenPipeline.cxx, line 677 -vtkCompositeDataPipeline (00000233450F5040): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (0000023343594B20) has 0 connections but is not optional. +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. + + +ERROR: In vtkDemandDrivenPipeline.cxx, line 677 +vtkCompositeDataPipeline (000002067CD9E5B0): Input port 0 of algorithm vtkOpenGLGPUVolumeRayCastMapper (000002067B2660B0) has 0 connections but is not optional. diff --git a/crystalfly/assets/file.png b/crystalfly/assets/file.png new file mode 100644 index 0000000..ecc93fc Binary files /dev/null and b/crystalfly/assets/file.png differ diff --git a/crystalfly/assets/plus.png b/crystalfly/assets/plus.png new file mode 100644 index 0000000..d6c6329 Binary files /dev/null and b/crystalfly/assets/plus.png differ diff --git a/crystalfly/ui/__pycache__/main_window.cpython-311.pyc b/crystalfly/ui/__pycache__/main_window.cpython-311.pyc index d427a53..172eaa0 100644 Binary files a/crystalfly/ui/__pycache__/main_window.cpython-311.pyc and b/crystalfly/ui/__pycache__/main_window.cpython-311.pyc differ diff --git a/crystalfly/ui/main_window.py b/crystalfly/ui/main_window.py index eba9256..bfb2b6f 100644 --- a/crystalfly/ui/main_window.py +++ b/crystalfly/ui/main_window.py @@ -1,6 +1,7 @@ from pathlib import Path from PySide6.QtCore import Slot, Qt +from PySide6.QtGui import QIcon, QAction from PySide6.QtUiTools import loadUiType from PySide6.QtWidgets import QMainWindow, QSlider from vtkmodules.vtkRenderingOpenGL2 import vtkGenericOpenGLRenderWindow @@ -15,6 +16,8 @@ MainWindowType, _ = loadUiType(str(Path(__file__).parent.joinpath("main_window.u class MainWindow(QMainWindow, MainWindowType): def __init__(self): super(MainWindow, self).__init__() + self.cross_action = None + self.file_action = None self.volume = None self.transverse = None self.sagittal = None @@ -24,8 +27,18 @@ class MainWindow(QMainWindow, MainWindowType): self.file_open_dialog = ImportFile() self.file_open.triggered.connect(self.handle_file_open) self.init_four_pane() + self.init_tool_bar() self.is_pane_maximum = False + def init_tool_bar(self): + self.file_action = QAction(icon=QIcon(str(Path(__file__).parent.parent / "assets" / "file.png")), text="file", + parent=self) + self.cross_action = QAction(icon=QIcon(str(Path(__file__).parent.parent / "assets" / "plus.png")), text="cross", + parent=self) + self.file_action.triggered.connect(self.handle_file_open) + self.tool_bar.addAction(self.file_action) + self.tool_bar.addAction(self.cross_action) + def init_four_pane(self): self.coronal = VTKImageViewer(1) self.sagittal = VTKImageViewer(3) diff --git a/crystalfly/ui/main_window.ui b/crystalfly/ui/main_window.ui index 189436b..360d969 100644 --- a/crystalfly/ui/main_window.ui +++ b/crystalfly/ui/main_window.ui @@ -17,23 +17,7 @@ # background-color: rgb(50, 50, 50); - - - - - border-color: rgb(195, 195, 195); - - - - - - 工具栏 - - - - - - + @@ -131,30 +115,18 @@ margin-top: -1px; - - - - 0 - 0 - 800 - 21 - - - - - 文件 - - - - - - 工具 - - - - - + + + toolBar_2 + + + LeftToolBarArea + + + false + + 打开