#!/usr/bin/env python # -*- coding: utf-8 -*- import os from config import data QtCore, QtGui, QtWidgets = data.Qt() # 全局变量声明 main_window = None class MetaFusionWindow(QtWidgets.QMainWindow): def __init__(self, parent=None): super(MetaFusionWindow, self).__init__(parent) self.setWindowTitle("MetaFusion") self.resize(800, 600) # 加载样式表 self.load_stylesheet() # 创建UI self.setup_ui() def load_stylesheet(self): """加载QSS样式表""" style_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), "resources", "styles", "style.qss") if os.path.exists(style_file): with open(style_file, 'r', encoding='utf-8') as f: self.setStyleSheet(f.read()) def setup_ui(self): """设置UI结构""" # 创建中心部件 central_widget = QtWidgets.QWidget() self.setCentralWidget(central_widget) # 创建主布局 main_layout = QtWidgets.QVBoxLayout(central_widget) # 创建菜单栏 self.create_menu_bar() # 创建工具栏 self.create_tool_bar() # 创建标签页 self.create_tabs() def create_menu_bar(self): """创建菜单栏""" menubar = self.menuBar() # 文件菜单 file_menu = menubar.addMenu("文件") file_menu.addAction("新建") file_menu.addAction("打开") file_menu.addAction("保存") file_menu.addSeparator() file_menu.addAction("退出") # 编辑菜单 edit_menu = menubar.addMenu("编辑") edit_menu.addAction("撤销") edit_menu.addAction("重做") # 帮助菜单 help_menu = menubar.addMenu("帮助") help_menu.addAction("关于") def create_tool_bar(self): """创建工具栏""" toolbar = self.addToolBar("主工具栏") toolbar.setMovable(False) # 添加工具栏按钮 toolbar.addAction(QtGui.QIcon(":/icons/new.png"), "新建") toolbar.addAction(QtGui.QIcon(":/icons/open.png"), "打开") toolbar.addAction(QtGui.QIcon(":/icons/save.png"), "保存") def create_tabs(self): """创建标签页""" self.tab_widget = QtWidgets.QTabWidget() self.centralWidget().layout().addWidget(self.tab_widget) # 创建四个主要标签页 self.model_tab = QtWidgets.QWidget() self.rig_tab = QtWidgets.QWidget() self.adjust_tab = QtWidgets.QWidget() self.define_tab = QtWidgets.QWidget() # 添加标签页到标签页控件 self.tab_widget.addTab(self.model_tab, "模型") self.tab_widget.addTab(self.rig_tab, "绑定") self.tab_widget.addTab(self.adjust_tab, "调整") self.tab_widget.addTab(self.define_tab, "定义") # 设置各个标签页的内容 self.setup_model_tab() self.setup_rig_tab() self.setup_adjust_tab() self.setup_define_tab() def setup_model_tab(self): """设置模型标签页内容""" layout = QtWidgets.QVBoxLayout(self.model_tab) # 在这里添加模型标签页的具体控件 def setup_rig_tab(self): """设置绑定标签页内容""" layout = QtWidgets.QVBoxLayout(self.rig_tab) # 在这里添加绑定标签页的具体控件 def setup_adjust_tab(self): """设置调整标签页内容""" layout = QtWidgets.QVBoxLayout(self.adjust_tab) # 在这里添加调整标签页的具体控件 def setup_define_tab(self): """设置定义标签页内容""" layout = QtWidgets.QVBoxLayout(self.define_tab) # 在这里添加定义标签页的具体控件 def show(): """显示主窗口""" global main_window try: main_window.close() except: pass main_window = MetaFusionWindow() main_window.show() return main_window if __name__ == "__main__": app = QtWidgets.QApplication([]) window = show() app.exec_()