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 tempfile
|
||||||
import shutil
|
import shutil
|
||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
from PySide2 import QtWidgets, QtCore, QtGui
|
from PySide import QtWidgets, QtCore, QtGui
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
import Mesh
|
import Mesh
|
||||||
import Part
|
import Part
|
||||||
|
|||||||
@@ -25,6 +25,41 @@ FreeCAD.addImportType("3D Studio mesh (*.3ds)","import3DS")
|
|||||||
FreeCAD.addImportType("SweetHome3D XML export (*.zip)","importSH3D")
|
FreeCAD.addImportType("SweetHome3D XML export (*.zip)","importSH3D")
|
||||||
|
|
||||||
import os
|
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__)
|
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
|
||||||
|
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ class MapWindow(QtGui.QWidget):
|
|||||||
self.setupUi()
|
self.setupUi()
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
from PySide.QtWebEngineWidgets import QWebEngineView
|
from PySide2.QtWebEngineWidgets import QWebEngineView
|
||||||
from PySide.QtWebChannel import QWebChannel
|
from PySide2.QtWebChannel import QWebChannel
|
||||||
|
|
||||||
self.ui = FreeCADGui.PySideUic.loadUi(PVPlantResources.__dir__ + "/PVPlantGeoreferencing.ui", self)
|
self.ui = FreeCADGui.PySideUic.loadUi(PVPlantResources.__dir__ + "/PVPlantGeoreferencing.ui", self)
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -25,7 +25,7 @@ import Part
|
|||||||
|
|
||||||
if FreeCAD.GuiUp:
|
if FreeCAD.GuiUp:
|
||||||
import FreeCADGui, os
|
import FreeCADGui, os
|
||||||
from PySide import QtCore, QtGui
|
from PySide2 import QtCore, QtGui
|
||||||
from PySide.QtGui import QListWidgetItem
|
from PySide.QtGui import QListWidgetItem
|
||||||
from PySide.QtCore import QT_TRANSLATE_NOOP
|
from PySide.QtCore import QT_TRANSLATE_NOOP
|
||||||
else:
|
else:
|
||||||
@@ -1164,8 +1164,8 @@ from scipy.interpolate import LinearNDInterpolator
|
|||||||
import Part
|
import Part
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
import FreeCADGui
|
import FreeCADGui
|
||||||
from PySide import QtCore, QtGui
|
from PySide2 import QtCore, QtGui
|
||||||
from PySide.QtWidgets import QListWidgetItem
|
from PySide2.QtWidgets import QListWidgetItem
|
||||||
import os
|
import os
|
||||||
import PVPlantResources
|
import PVPlantResources
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import FreeCAD
|
import FreeCAD
|
||||||
import FreeCADGui
|
import FreeCADGui
|
||||||
from PySide2 import QtWidgets
|
from PySide import QtWidgets
|
||||||
import os
|
import os
|
||||||
|
|
||||||
if FreeCAD.GuiUp:
|
if FreeCAD.GuiUp:
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
# Script para FreeCAD - Procesador de Documentos Word con Carátula
|
# Script para FreeCAD - Procesador de Documentos Word con Carátula
|
||||||
import os
|
import os
|
||||||
import glob
|
import glob
|
||||||
from PySide import QtWidgets, QtCore
|
from PySide2 import QtWidgets, QtCore
|
||||||
from PySide.QtWidgets import (QFileDialog, QMessageBox, QProgressDialog,
|
from PySide2.QtWidgets import (QFileDialog, QMessageBox, QProgressDialog,
|
||||||
QApplication, QVBoxLayout, QWidget, QPushButton,
|
QApplication, QVBoxLayout, QWidget, QPushButton,
|
||||||
QLabel, QTextEdit)
|
QLabel, QTextEdit)
|
||||||
import FreeCAD
|
import FreeCAD
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
import FreeCAD, FreeCADGui
|
import FreeCAD, FreeCADGui
|
||||||
#from freecad.trails import ICONPATH
|
#from freecad.trails import ICONPATH
|
||||||
from PySide2.QtWidgets import QLabel
|
from PySide.QtWidgets import QLabel
|
||||||
import copy
|
import copy
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user