PVPlant: shim PySide2→PySide6 en Init.py para compatibilidad FreeCAD 1.1. Archivos vuelven a usar PySide2
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@ import zipfile
|
||||
import tempfile
|
||||
import shutil
|
||||
import xml.etree.ElementTree as ET
|
||||
from PySide2 import QtWidgets, QtCore, QtGui
|
||||
from PySide import QtWidgets, QtCore, QtGui
|
||||
import FreeCAD
|
||||
import Mesh
|
||||
import Part
|
||||
|
||||
@@ -25,6 +25,41 @@ FreeCAD.addImportType("3D Studio mesh (*.3ds)","import3DS")
|
||||
FreeCAD.addImportType("SweetHome3D XML export (*.zip)","importSH3D")
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Shim PySide: FreeCAD 1.1 usa PySide6. Los archivos del workbench importan
|
||||
# desde PySide o PySide2. Este parche redirige ambos a PySide6.
|
||||
# ---------------------------------------------------------------------------
|
||||
try:
|
||||
import PySide6
|
||||
# Crear alias para que from PySide import ... funcione
|
||||
class _PySideShim:
|
||||
pass
|
||||
|
||||
# Los submódulos se cargan bajo demanda
|
||||
_pyside_submodules = {}
|
||||
|
||||
class _PySideLoader:
|
||||
"""Loader que redirige PySide.X a PySide6.X"""
|
||||
def __getattr__(self, name):
|
||||
if name not in _pyside_submodules:
|
||||
try:
|
||||
_pyside_submodules[name] = getattr(PySide6, name)
|
||||
except AttributeError:
|
||||
# Algunos submódulos como QtWidgets tienen su propio import
|
||||
try:
|
||||
_pyside_submodules[name] = __import__('PySide6.' + name, fromlist=[name])
|
||||
except ImportError:
|
||||
raise AttributeError(f"PySide no tiene el submódulo '{name}' (PySide6 tampoco)")
|
||||
return _pyside_submodules[name]
|
||||
|
||||
_shim = _PySideLoader()
|
||||
sys.modules['PySide'] = _shim
|
||||
sys.modules['PySide2'] = _shim
|
||||
except ImportError:
|
||||
pass
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
|
||||
|
||||
|
||||
@@ -58,8 +58,8 @@ class MapWindow(QtGui.QWidget):
|
||||
self.setupUi()
|
||||
|
||||
def setupUi(self):
|
||||
from PySide.QtWebEngineWidgets import QWebEngineView
|
||||
from PySide.QtWebChannel import QWebChannel
|
||||
from PySide2.QtWebEngineWidgets import QWebEngineView
|
||||
from PySide2.QtWebChannel import QWebChannel
|
||||
|
||||
self.ui = FreeCADGui.PySideUic.loadUi(PVPlantResources.__dir__ + "/PVPlantGeoreferencing.ui", self)
|
||||
|
||||
|
||||
+3
-3
@@ -25,7 +25,7 @@ import Part
|
||||
|
||||
if FreeCAD.GuiUp:
|
||||
import FreeCADGui, os
|
||||
from PySide import QtCore, QtGui
|
||||
from PySide2 import QtCore, QtGui
|
||||
from PySide.QtGui import QListWidgetItem
|
||||
from PySide.QtCore import QT_TRANSLATE_NOOP
|
||||
else:
|
||||
@@ -1164,8 +1164,8 @@ from scipy.interpolate import LinearNDInterpolator
|
||||
import Part
|
||||
import FreeCAD
|
||||
import FreeCADGui
|
||||
from PySide import QtCore, QtGui
|
||||
from PySide.QtWidgets import QListWidgetItem
|
||||
from PySide2 import QtCore, QtGui
|
||||
from PySide2.QtWidgets import QListWidgetItem
|
||||
import os
|
||||
import PVPlantResources
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import FreeCAD
|
||||
import FreeCADGui
|
||||
from PySide2 import QtWidgets
|
||||
from PySide import QtWidgets
|
||||
import os
|
||||
|
||||
if FreeCAD.GuiUp:
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
# Script para FreeCAD - Procesador de Documentos Word con Carátula
|
||||
import os
|
||||
import glob
|
||||
from PySide import QtWidgets, QtCore
|
||||
from PySide.QtWidgets import (QFileDialog, QMessageBox, QProgressDialog,
|
||||
from PySide2 import QtWidgets, QtCore
|
||||
from PySide2.QtWidgets import (QFileDialog, QMessageBox, QProgressDialog,
|
||||
QApplication, QVBoxLayout, QWidget, QPushButton,
|
||||
QLabel, QTextEdit)
|
||||
import FreeCAD
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
import FreeCAD, FreeCADGui
|
||||
#from freecad.trails import ICONPATH
|
||||
from PySide2.QtWidgets import QLabel
|
||||
from PySide.QtWidgets import QLabel
|
||||
import copy
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user