Imports für sn_Verfahrensgebiet ergänzt, Stilprüfer wird jetzt auch für apply_style verwendet
This commit is contained in:
@@ -11,6 +11,7 @@ NO: Optional[Any] = None
|
||||
CANCEL: Optional[Any] = None
|
||||
ICON_QUESTION: Optional[Any] = None
|
||||
|
||||
|
||||
# Qt-Klassen (werden dynamisch gesetzt)
|
||||
QDockWidget: Type[Any] = object
|
||||
QMessageBox: Type[Any] = object
|
||||
@@ -36,6 +37,8 @@ QToolButton: Type[Any] = object
|
||||
QSizePolicy: Type[Any] = object
|
||||
Qt: Type[Any] = object
|
||||
QComboBox: Type[Any] = object
|
||||
QHBoxLayout: Type[Any] = object
|
||||
|
||||
|
||||
def exec_dialog(dialog: Any) -> Any:
|
||||
"""Führt Dialog modal aus (Qt6: exec(), Qt5: exec_(), Mock: YES)"""
|
||||
@@ -77,12 +80,14 @@ try:
|
||||
QToolButton as _QToolButton,
|
||||
QSizePolicy as _QSizePolicy,
|
||||
QComboBox as _QComboBox,
|
||||
QHBoxLayout as _QHBoxLayout,
|
||||
)
|
||||
from qgis.PyQt.QtCore import (
|
||||
QEventLoop as _QEventLoop,
|
||||
QUrl as _QUrl,
|
||||
QCoreApplication as _QCoreApplication,
|
||||
Qt as _Qt,
|
||||
QVariant as _QVariant
|
||||
)
|
||||
from qgis.PyQt.QtNetwork import (
|
||||
QNetworkRequest as _QNetworkRequest,
|
||||
@@ -115,12 +120,16 @@ try:
|
||||
QToolButton = _QToolButton
|
||||
QSizePolicy = _QSizePolicy
|
||||
QComboBox = _QComboBox
|
||||
|
||||
QVariant = _QVariant
|
||||
QHBoxLayout= _QHBoxLayout
|
||||
# ✅ QT6 ENUMS
|
||||
YES = QMessageBox.StandardButton.Yes
|
||||
NO = QMessageBox.StandardButton.No
|
||||
CANCEL = QMessageBox.StandardButton.Cancel
|
||||
ICON_QUESTION = QMessageBox.Icon.Question
|
||||
AcceptRole = QMessageBox.ButtonRole.AcceptRole
|
||||
ActionRole = QMessageBox.ButtonRole.ActionRole
|
||||
RejectRole = QMessageBox.ButtonRole.RejectRole
|
||||
|
||||
# Qt6 Enum-Aliase
|
||||
ToolButtonTextBesideIcon = Qt.ToolButtonStyle.ToolButtonTextBesideIcon
|
||||
@@ -161,12 +170,14 @@ except (ImportError, AttributeError):
|
||||
QToolButton as _QToolButton,
|
||||
QSizePolicy as _QSizePolicy,
|
||||
QComboBox as _QComboBox,
|
||||
QHBoxLayout as _QHBoxLayout,
|
||||
)
|
||||
from PyQt5.QtCore import (
|
||||
QEventLoop as _QEventLoop,
|
||||
QUrl as _QUrl,
|
||||
QCoreApplication as _QCoreApplication,
|
||||
Qt as _Qt,
|
||||
QVariant as _QVariant
|
||||
)
|
||||
from PyQt5.QtNetwork import (
|
||||
QNetworkRequest as _QNetworkRequest,
|
||||
@@ -199,12 +210,18 @@ except (ImportError, AttributeError):
|
||||
QToolButton = _QToolButton
|
||||
QSizePolicy = _QSizePolicy
|
||||
QComboBox = _QComboBox
|
||||
QVariant = _QVariant
|
||||
QHBoxLayout = _QHBoxLayout
|
||||
|
||||
# ✅ PYQT5 ENUMS
|
||||
YES = QMessageBox.Yes
|
||||
NO = QMessageBox.No
|
||||
CANCEL = QMessageBox.Cancel
|
||||
ICON_QUESTION = QMessageBox.Question
|
||||
AcceptRole = QMessageBox.AcceptRole
|
||||
ActionRole = QMessageBox.ActionRole
|
||||
RejectRole = QMessageBox.RejectRole
|
||||
|
||||
|
||||
# PyQt5 Enum-Aliase
|
||||
ToolButtonTextBesideIcon = Qt.ToolButtonTextBesideIcon
|
||||
@@ -244,6 +261,10 @@ except (ImportError, AttributeError):
|
||||
No = NO
|
||||
Cancel = CANCEL
|
||||
Question = ICON_QUESTION
|
||||
AcceptRole = 0
|
||||
ActionRole = 3
|
||||
RejectRole = 1
|
||||
|
||||
|
||||
@classmethod
|
||||
def question(cls, parent, title, message, buttons, default_button):
|
||||
@@ -423,9 +444,71 @@ except (ImportError, AttributeError):
|
||||
|
||||
QComboBox = _MockComboBox
|
||||
|
||||
|
||||
# ---------------------------
|
||||
# Mock für QVariant
|
||||
# ---------------------------
|
||||
|
||||
class _MockQVariant:
|
||||
"""
|
||||
Minimaler Ersatz für QtCore.QVariant.
|
||||
|
||||
Ziel:
|
||||
- Werte transparent durchreichen
|
||||
- Typ-Konstanten bereitstellen
|
||||
- Keine Qt-Abhängigkeiten
|
||||
"""
|
||||
|
||||
# Typ-Konstanten (symbolisch, Werte egal)
|
||||
Invalid = 0
|
||||
Int = 1
|
||||
Double = 2
|
||||
String = 3
|
||||
Bool = 4
|
||||
Date = 5
|
||||
DateTime = 6
|
||||
|
||||
def __init__(self, value: Any = None):
|
||||
self._value = value
|
||||
|
||||
def value(self) -> Any:
|
||||
return self._value
|
||||
|
||||
def __repr__(self) -> str:
|
||||
return f"QVariant({self._value!r})"
|
||||
|
||||
# Optional: automatische Entpackung
|
||||
def __int__(self):
|
||||
return int(self._value)
|
||||
|
||||
def __float__(self):
|
||||
return float(self._value)
|
||||
|
||||
def __str__(self):
|
||||
return str(self._value)
|
||||
QVariant = _MockQVariant
|
||||
|
||||
class _MockQHBoxLayout:
|
||||
def __init__(self, *args, **kwargs):
|
||||
self._widgets = []
|
||||
|
||||
def addWidget(self, widget):
|
||||
self._widgets.append(widget)
|
||||
|
||||
def addLayout(self, layout):
|
||||
pass
|
||||
|
||||
def addStretch(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
def setSpacing(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
def setContentsMargins(self, *args, **kwargs):
|
||||
pass
|
||||
QHBoxLayout = _MockQHBoxLayout
|
||||
def exec_dialog(dialog: Any) -> Any:
|
||||
return YES
|
||||
|
||||
# --------------------------- TEST ---------------------------
|
||||
if __name__ == "__main__":
|
||||
debug_qt_status()
|
||||
|
||||
Reference in New Issue
Block a user