Files
stepanalyser/.venv/lib/python3.12/site-packages/ezdxf/addons/xqt.py
Christian Anetzberger a197de9456 initial
2026-01-22 20:23:51 +01:00

87 lines
2.2 KiB
Python

# Copyright (c) 2021, Manfred Moitzi
# License: MIT License
# mypy: ignore_errors=True
from ezdxf._options import DRAWING_ADDON, options
# Qt compatibility layer: all Qt imports from ezdxf.addons.xqt
PYSIDE6 = False
TRY_PYSIDE6 = options.get_bool(DRAWING_ADDON, "try_pyside6", True)
PYQT5 = False
TRY_PYQT5 = options.get_bool(DRAWING_ADDON, "try_pyqt5", True)
if TRY_PYSIDE6:
try:
from PySide6 import QtGui, QtCore, QtWidgets
from PySide6.QtWidgets import (
QFileDialog,
QInputDialog,
QMessageBox,
QTableView,
QTreeView,
QListView,
)
from PySide6.QtCore import (
QAbstractTableModel,
QStringListModel,
QFileSystemWatcher,
QModelIndex,
QPointF,
QSettings,
QSize,
Qt,
Signal,
Slot,
)
from PySide6.QtGui import (
QAction,
QColor,
QPainterPath,
QStandardItem,
QStandardItemModel,
)
PYSIDE6 = True
print("using Qt binding: PySide6")
except ImportError:
pass
# PyQt5 is just a fallback
if TRY_PYQT5 and not PYSIDE6:
try:
from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtCore import pyqtSignal as Signal
from PyQt5.QtCore import pyqtSlot as Slot
from PyQt5.QtWidgets import (
QAction,
QFileDialog,
QInputDialog,
QMessageBox,
QTableView,
QTreeView,
QListView,
)
from PyQt5.QtCore import (
QAbstractTableModel,
QStringListModel,
QFileSystemWatcher,
QModelIndex,
QPointF,
QSettings,
QSize,
Qt,
)
from PyQt5.QtGui import (
QColor,
QPainterPath,
QStandardItem,
QStandardItemModel,
)
PYQT5 = True
print("using Qt binding: PyQt5")
except ImportError:
pass
if not (PYSIDE6 or PYQT5):
raise ImportError("no Qt binding found, tried PySide6 and PyQt5")