This commit is contained in:
Jeffreytsai1004 2025-02-11 00:04:32 +08:00
parent e291c1c7a7
commit b6b063e68c
11 changed files with 85 additions and 143 deletions

View File

@ -11,24 +11,11 @@ import os
from scripts import config
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
TOOL_NAME = config.TOOL_NAME
TOOL_ICON = config.TOOL_ICON

View File

@ -1,12 +1,18 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PySide2 import QtCore, QtGui, QtWidgets
import maya.OpenMayaUI as omui
from shiboken2 import wrapInstance
from scripts import config
from scripts.ui import menu, toolshelf, meshes, rigging, behaviour, definition
from scripts.ui import behaviour, definition, rigging # 改为绝对导入
from scripts import config # 改为绝对导入
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class MetaFusion(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(MetaFusion, self).__init__(parent)
@ -19,8 +25,8 @@ class MetaFusion(QtWidgets.QMainWindow):
# === 设置窗口属性 ===
self.setWindowTitle(f"{config.TOOL_NAME} {config.TOOL_VERSION}")
# 设置初始大小和最小大小
self.resize(550, 800) # 初始大小
self.setMinimumSize(550, 800) # 最小大小限制
self.resize(550, 820) # 初始大小
self.setMinimumSize(550, 820) # 最小大小限制
# === 创建中心部件 ===
self.central_widget = QtWidgets.QWidget()

View File

@ -7,37 +7,16 @@ from . import config
# 确保PYDNA_PATH在sys.path中
if config.PYDNA_PATH not in sys.path:
sys.path.insert(0, config.PYDNA_PATH) # 将PYDNA_PATH添加到搜索路径的最前面
sys.path.insert(0, config.PYDNA_PATH)
# 先导入dna模块
try:
import dna
except ImportError as e:
# 更详细的错误信息
print("="*80)
print("DNA模块导入失败:")
print(f"错误信息: {str(e)}")
print(f"PYDNA_PATH: {config.PYDNA_PATH}")
print(f"当前Python路径:")
for p in sys.path:
print(f" - {p}")
print("="*80)
# 检查pydna目录是否存在及其内容
if os.path.exists(config.PYDNA_PATH):
print(f"\nPYDNA目录内容:")
for root, dirs, files in os.walk(config.PYDNA_PATH):
print(f"\n目录: {root}")
for d in dirs:
print(f" 目录: {d}")
for f in files:
print(f" 文件: {f}")
else:
print(f"\nPYDNA目录不存在: {config.PYDNA_PATH}")
print(f"DNA模块导入失败: {str(e)}")
raise
# 现在导入其他模块
# 修改为绝对导入
from .api import build_meshes, build_rig
from .builder.config import Config, RigConfig
from .builder.maya.skin_weights import (
@ -46,7 +25,7 @@ from .builder.maya.skin_weights import (
)
from .dnalib.dnalib import DNA
from .dnalib.layer import Layer
from .MetaFusion import show
from .MetaFusion import show # 改为绝对导入
from .config import __version__
__all__ = [

View File

@ -10,11 +10,41 @@ import datetime
import sys
import os
def Qt():
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
return QtCore, QtGui, QtWidgets, wrapInstance
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
return QtCore, QtGui, QtWidgets, wrapInstance
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
return QtCore, QtGui, QtWidgets, wrapInstance
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
__version__ = "2.1.1"
# Base Information
TOOL_NAME = str("MetaFusion")
TOOL_VERSION = str("Beta v1.0.0")
TOOL_AUTHOR = str("CGNICO")
TOOL_LANG = str('en_US')
TOOL_WSCL_NAME = str(f"{TOOL_NAME}WorkSpaceControl")

View File

@ -12,24 +12,10 @@ import os
from scripts import config
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class BehaviourTab(QtWidgets.QWidget):
def __init__(self, parent=None):

View File

@ -10,26 +10,12 @@ import webbrowser
import sys
import os
from scripts import config
from scripts import config # 改为绝对导入
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class DefinitionTab(QtWidgets.QWidget):
def __init__(self, parent=None):

View File

@ -10,26 +10,12 @@ import webbrowser
import sys
import os
from scripts import config
from .. import config
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class MenuBar(QtWidgets.QMenuBar):
def __init__(self, parent=None):

View File

@ -10,26 +10,12 @@ import webbrowser
import sys
import os
from scripts import config
from .. import config
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class MeshItem(QtWidgets.QWidget):
"""单个网格项控件"""

View File

@ -12,24 +12,10 @@ import os
from scripts import config
try:
from PySide2 import QtCore, QtGui, QtWidgets
from shiboken2 import wrapInstance
print("从PySide2加载Qt和shiboken2")
except ImportError:
try:
from PySide6 import QtCore, QtGui, QtWidgets
from shiboken6 import wrapInstance
print("从PySide6加载Qt和shiboken6")
except ImportError:
try:
from PySide import QtCore, QtGui, QtWidgets
from shiboken import wrapInstance
print("从PySide加载Qt和shiboken")
except ImportError as e:
print(f"Qt加载失败: {str(e)}")
QtCore = QtGui = QtWidgets = None
wrapInstance = None
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class RiggingTab(QtWidgets.QWidget):
def __init__(self, parent=None):

View File

@ -1,8 +1,12 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PySide2 import QtCore, QtGui, QtWidgets
from scripts import config
from .. import config
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class ToolShelf(QtWidgets.QWidget):
def __init__(self, parent=None):

View File

@ -9,7 +9,13 @@ import maya.mel as mel
import webbrowser
import sys
import os
from PySide2 import QtCore, QtGui, QtWidgets
from .. import config
QtCore, QtGui, QtWidgets, wrapInstance = config.Qt()
if QtCore is None or QtGui is None or QtWidgets is None or wrapInstance is None:
print(f"Qt加载失败: {QtCore}, {QtGui}, {QtWidgets}, {wrapInstance}")
class ToolShelf(QtWidgets.QToolBar):
def __init__(self, parent=None):