]> jfr.im git - irc/weechat/qweechat.git/blob - qweechat/qt_compat.py
9b96a319cd2f111511d738afc49fd7b920ab1faf
[irc/weechat/qweechat.git] / qweechat / qt_compat.py
1 #!/usr/bin/env python
2 #
3 # File downloaded from:
4 # https://github.com/epage/PythonUtils/blob/master/util/qt_compat.py
5 # Author: epage
6 # License: LGPL 2.1
7 #
8
9 from __future__ import with_statement
10 from __future__ import division
11
12 _TRY_PYSIDE = True
13 uses_pyside = False
14
15 try:
16 if not _TRY_PYSIDE:
17 raise ImportError()
18 import PySide.QtCore as _QtCore
19 QtCore = _QtCore
20 uses_pyside = True
21 except ImportError:
22 import sip
23 sip.setapi('QString', 2)
24 sip.setapi('QVariant', 2)
25 import PyQt4.QtCore as _QtCore
26 QtCore = _QtCore
27 uses_pyside = False
28
29
30 def _pyside_import_module(moduleName):
31 pyside = __import__('PySide', globals(), locals(), [moduleName], -1)
32 return getattr(pyside, moduleName)
33
34
35 def _pyqt4_import_module(moduleName):
36 pyside = __import__('PyQt4', globals(), locals(), [moduleName], -1)
37 return getattr(pyside, moduleName)
38
39
40 if uses_pyside:
41 import_module = _pyside_import_module
42
43 Signal = QtCore.Signal
44 Slot = QtCore.Slot
45 Property = QtCore.Property
46 else:
47 import_module = _pyqt4_import_module
48
49 Signal = QtCore.pyqtSignal
50 Slot = QtCore.pyqtSlot
51 Property = QtCore.pyqtProperty
52
53
54 if __name__ == "__main__":
55 pass