110 lines
4.4 KiB
Python
110 lines
4.4 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
#
|
||
|
# Copyright © 2014-2015 Colin Duquesnoy
|
||
|
# Copyright © 2009- The Spyder Development Team
|
||
|
#
|
||
|
# Licensed under the terms of the MIT License
|
||
|
# (see LICENSE.txt for details)
|
||
|
|
||
|
"""
|
||
|
Provides QtCore classes and functions.
|
||
|
"""
|
||
|
|
||
|
from . import PYQT5, PYSIDE2, PYQT4, PYSIDE, PythonQtError
|
||
|
|
||
|
|
||
|
if PYQT5:
|
||
|
from PyQt5.QtCore import *
|
||
|
from PyQt5.QtCore import pyqtSignal as Signal
|
||
|
from PyQt5.QtCore import pyqtSlot as Slot
|
||
|
from PyQt5.QtCore import pyqtProperty as Property
|
||
|
from PyQt5.QtCore import QT_VERSION_STR as __version__
|
||
|
|
||
|
# For issue #153
|
||
|
from PyQt5.QtCore import QDateTime
|
||
|
QDateTime.toPython = QDateTime.toPyDateTime
|
||
|
|
||
|
# Those are imported from `import *`
|
||
|
del pyqtSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR
|
||
|
elif PYSIDE2:
|
||
|
from PySide2.QtCore import *
|
||
|
|
||
|
try: # may be limited to PySide-5.11a1 only
|
||
|
from PySide2.QtGui import QStringListModel
|
||
|
except:
|
||
|
pass
|
||
|
|
||
|
import PySide2.QtCore
|
||
|
__version__ = PySide2.QtCore.__version__
|
||
|
elif PYQT4:
|
||
|
from PyQt4.QtCore import *
|
||
|
# Those are things we inherited from Spyder that fix crazy crashes under
|
||
|
# some specific situations. (See #34)
|
||
|
from PyQt4.QtCore import QCoreApplication
|
||
|
from PyQt4.QtCore import Qt
|
||
|
from PyQt4.QtCore import pyqtSignal as Signal
|
||
|
from PyQt4.QtCore import pyqtSlot as Slot
|
||
|
from PyQt4.QtCore import pyqtProperty as Property
|
||
|
from PyQt4.QtGui import (QItemSelection, QItemSelectionModel,
|
||
|
QItemSelectionRange, QSortFilterProxyModel,
|
||
|
QStringListModel)
|
||
|
from PyQt4.QtCore import QT_VERSION_STR as __version__
|
||
|
from PyQt4.QtCore import qInstallMsgHandler as qInstallMessageHandler
|
||
|
|
||
|
# QDesktopServices has has been split into (QDesktopServices and
|
||
|
# QStandardPaths) in Qt5
|
||
|
# This creates a dummy class that emulates QStandardPaths
|
||
|
from PyQt4.QtGui import QDesktopServices as _QDesktopServices
|
||
|
|
||
|
class QStandardPaths():
|
||
|
StandardLocation = _QDesktopServices.StandardLocation
|
||
|
displayName = _QDesktopServices.displayName
|
||
|
DesktopLocation = _QDesktopServices.DesktopLocation
|
||
|
DocumentsLocation = _QDesktopServices.DocumentsLocation
|
||
|
FontsLocation = _QDesktopServices.FontsLocation
|
||
|
ApplicationsLocation = _QDesktopServices.ApplicationsLocation
|
||
|
MusicLocation = _QDesktopServices.MusicLocation
|
||
|
MoviesLocation = _QDesktopServices.MoviesLocation
|
||
|
PicturesLocation = _QDesktopServices.PicturesLocation
|
||
|
TempLocation = _QDesktopServices.TempLocation
|
||
|
HomeLocation = _QDesktopServices.HomeLocation
|
||
|
DataLocation = _QDesktopServices.DataLocation
|
||
|
CacheLocation = _QDesktopServices.CacheLocation
|
||
|
writableLocation = _QDesktopServices.storageLocation
|
||
|
|
||
|
# Those are imported from `import *`
|
||
|
del pyqtSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR, qInstallMsgHandler
|
||
|
elif PYSIDE:
|
||
|
from PySide.QtCore import *
|
||
|
from PySide.QtGui import (QItemSelection, QItemSelectionModel,
|
||
|
QItemSelectionRange, QSortFilterProxyModel,
|
||
|
QStringListModel)
|
||
|
from PySide.QtCore import qInstallMsgHandler as qInstallMessageHandler
|
||
|
del qInstallMsgHandler
|
||
|
|
||
|
# QDesktopServices has has been split into (QDesktopServices and
|
||
|
# QStandardPaths) in Qt5
|
||
|
# This creates a dummy class that emulates QStandardPaths
|
||
|
from PySide.QtGui import QDesktopServices as _QDesktopServices
|
||
|
|
||
|
class QStandardPaths():
|
||
|
StandardLocation = _QDesktopServices.StandardLocation
|
||
|
displayName = _QDesktopServices.displayName
|
||
|
DesktopLocation = _QDesktopServices.DesktopLocation
|
||
|
DocumentsLocation = _QDesktopServices.DocumentsLocation
|
||
|
FontsLocation = _QDesktopServices.FontsLocation
|
||
|
ApplicationsLocation = _QDesktopServices.ApplicationsLocation
|
||
|
MusicLocation = _QDesktopServices.MusicLocation
|
||
|
MoviesLocation = _QDesktopServices.MoviesLocation
|
||
|
PicturesLocation = _QDesktopServices.PicturesLocation
|
||
|
TempLocation = _QDesktopServices.TempLocation
|
||
|
HomeLocation = _QDesktopServices.HomeLocation
|
||
|
DataLocation = _QDesktopServices.DataLocation
|
||
|
CacheLocation = _QDesktopServices.CacheLocation
|
||
|
writableLocation = _QDesktopServices.storageLocation
|
||
|
|
||
|
import PySide.QtCore
|
||
|
__version__ = PySide.QtCore.__version__
|
||
|
else:
|
||
|
raise PythonQtError('No Qt bindings could be found')
|