PyQt5 based qtpy fallback
This commit is contained in:
parent
7364824aee
commit
b2a3647be7
|
@ -35,10 +35,6 @@ class NetworkStatus(QtWidgets.QWidget, RetranslateMixin):
|
|||
header.setSortIndicator(0, QtCore.Qt.AscendingOrder)
|
||||
|
||||
self.startup = time.localtime()
|
||||
self.labelStartupTime.setText(_translate(
|
||||
"networkstatus", "Since startup on {0}").format(
|
||||
l10n.formatTimestamp(self.startup))
|
||||
)
|
||||
|
||||
self.UISignalThread = UISignaler.get()
|
||||
self.UISignalThread.updateNumberOfMessagesProcessed.connect(
|
||||
|
|
|
@ -126,7 +126,7 @@ def createSupportMessage(myapp):
|
|||
|
||||
opensslversion = "%s (Python internal), %s (external for PyElliptic)" % (ssl.OPENSSL_VERSION, OpenSSL._version)
|
||||
|
||||
qtapi = os.environ['QT_API']
|
||||
qtapi = os.environ.get('QT_API', 'fallback')
|
||||
|
||||
frozen = "N/A"
|
||||
if paths.frozen:
|
||||
|
|
|
@ -3,6 +3,8 @@ Utility functions to check the availability of dependencies
|
|||
and suggest how it may be installed
|
||||
"""
|
||||
|
||||
# flake8: noqa:E402
|
||||
|
||||
import sys
|
||||
|
||||
# Only really old versions of Python don't have sys.hexversion. We don't
|
||||
|
@ -363,9 +365,13 @@ def check_pyqt():
|
|||
PyQt 4.8 or later.
|
||||
"""
|
||||
# pylint: disable=no-member
|
||||
qtpy = try_import(
|
||||
'qtpy',
|
||||
'PyBitmessage requires qtpy, PyQt 4.8 or later and Qt 4.7 or later.')
|
||||
try:
|
||||
from fallback import qtpy
|
||||
except ImportError:
|
||||
logger.error(
|
||||
'PyBitmessage requires qtpy, PyQt 4.8 or later and Qt 4.7 or later.'
|
||||
)
|
||||
qtpy = None
|
||||
|
||||
if not qtpy:
|
||||
return False
|
||||
|
|
|
@ -30,3 +30,30 @@ else:
|
|||
if data:
|
||||
hasher.update(data)
|
||||
return hasher
|
||||
|
||||
try:
|
||||
import qtpy
|
||||
except ImportError:
|
||||
try:
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets, QtNetwork, uic
|
||||
except ImportError:
|
||||
qtpy = None
|
||||
else:
|
||||
import sys
|
||||
import types
|
||||
|
||||
QtCore.Signal = QtCore.pyqtSignal
|
||||
context = {
|
||||
'API': 'pyqt5', # for tr
|
||||
'PYQT_VERSION': QtCore.PYQT_VERSION_STR,
|
||||
'QT_VERSION': QtCore.QT_VERSION_STR,
|
||||
'QtCore': QtCore,
|
||||
'QtGui': QtGui,
|
||||
'QtWidgets': QtWidgets,
|
||||
'QtNetwork': QtNetwork,
|
||||
'uic': uic
|
||||
}
|
||||
qtpy = types.ModuleType(
|
||||
'qtpy', 'PyQt5 based dynamic fallback for qtpy')
|
||||
qtpy.__dict__.update(context)
|
||||
sys.modules['qtpy'] = qtpy
|
||||
|
|
Reference in New Issue
Block a user