Toolbox/PyQt4ImportHook.py

changeset 3777
0c47cbb5b199
parent 3776
ccb6eacb50e5
child 3857
f8b548d399bc
equal deleted inserted replaced
3776:ccb6eacb50e5 3777:0c47cbb5b199
5 5
6 try: 6 try:
7 import PyQt5 # __IGNORE_WARNING__ 7 import PyQt5 # __IGNORE_WARNING__
8 except ImportError: 8 except ImportError:
9 import sys 9 import sys
10 import importlib
10 11
11 # TODO: adapt this for Python2
12 class PyQt4Importer(object): 12 class PyQt4Importer(object):
13 def __init__(self): 13 def __init__(self):
14 """ 14 """
15 Constructor 15 Constructor
16 """ 16 """
42 elif fullname in ["PyQt5.QtWebKitWidgets"]: 42 elif fullname in ["PyQt5.QtWebKitWidgets"]:
43 newname = "PyQt4.QtWebKit" 43 newname = "PyQt4.QtWebKit"
44 else: 44 else:
45 newname = fullname.replace("PyQt5", "PyQt4") 45 newname = fullname.replace("PyQt5", "PyQt4")
46 46
47 import importlib 47 module = importlib.import_module(newname)
48 loader = importlib.find_loader(newname, self.__path)
49 module = loader.load_module(newname)
50 sys.modules[fullname] = module 48 sys.modules[fullname] = module
51 if fullname == "PyQt5.QtCore": 49 if fullname == "PyQt5.QtCore":
52 import PyQt4.QtGui 50 import PyQt4.QtGui
53 module.qInstallMessageHandler = module.qInstallMsgHandler 51 module.qInstallMessageHandler = module.qInstallMsgHandler
54 module.QItemSelectionModel = PyQt4.QtGui.QItemSelectionModel 52 module.QItemSelectionModel = PyQt4.QtGui.QItemSelectionModel

eric ide

mercurial