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