From 136a2efc2e00e790f6e05ea12a433c4cc2abafe2 Mon Sep 17 00:00:00 2001 From: mhby1g21 <mhby1g21@soton.ac.uk> Date: Thu, 14 Nov 2024 11:34:45 +0000 Subject: [PATCH] added main pipeline GUI.py --- scripts/GUI.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/scripts/GUI.py b/scripts/GUI.py index e69de29..fa72517 100644 --- a/scripts/GUI.py +++ b/scripts/GUI.py @@ -0,0 +1,64 @@ +from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QTabWidget, QMessageBox, QGroupBox, QLabel) +from PyQt6.QtCore import Qt +import sys +import os + +# Add debug_tool to Python path for importing utilities +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +ROOT_DIR = os.path.dirname(SCRIPT_DIR) +DEBUG_TOOL_DIR = os.path.join(SCRIPT_DIR, 'debug_tool') +sys.path.append(DEBUG_TOOL_DIR) + +from debug_tool.utils.config_reader import ConfigReader +from simple_tab import SimpleTab +from advanced_tab import AdvancedTab + +class VRSceneCreatorGUI(QMainWindow): + def __init__(self): + super().__init__() + self.setWindowTitle("Immersive VR Scene Creator") + self.setGeometry(100, 100, 1600, 800) + + # Initialize paths + self.SCRIPT_DIR = SCRIPT_DIR + self.ROOT_DIR = ROOT_DIR + self.DEBUG_TOOL_DIR = DEBUG_TOOL_DIR + + # Read configuration + self.config_reader = ConfigReader(self.SCRIPT_DIR, self.ROOT_DIR) + + # Setup UI + self.setup_ui() + + def setup_ui(self): + # Create main widget and layout + main_widget = QWidget() + self.setCentralWidget(main_widget) + layout = QVBoxLayout(main_widget) + + # Add title/header + header_label = QLabel("Immersive VR Scene Creator") + header_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + header_label.setStyleSheet("font-size: 24px; font-weight: bold; margin: 10px;") + layout.addWidget(header_label) + + # Create tab widget + self.tabs = QTabWidget() + layout.addWidget(self.tabs) + + # Initialize tabs + self.simple_tab = SimpleTab(self.config_reader) + self.advanced_tab = AdvancedTab(self.config_reader) + + self.tabs.addTab(self.simple_tab, "Simple Pipeline") + self.tabs.addTab(self.advanced_tab, "Advanced Options") + +def main(): + app = QApplication(sys.argv) + window = VRSceneCreatorGUI() + window.show() + sys.exit(app.exec()) + +if __name__ == "__main__": + main() \ No newline at end of file -- GitLab