Browse Source

gui: make common_qt compatible with both Qt5 and Qt6

master
Sander van Grieken 2 years ago
parent
commit
be801f30e8
  1. 7
      electrum/gui/common_qt/plugins.py
  2. 1
      electrum/gui/qml/__init__.py
  3. 1
      electrum/gui/qt/__init__.py
  4. 6
      electrum/plugins/trustedcoin/common_qt.py

7
electrum/gui/common_qt/plugins.py

@ -1,4 +1,9 @@
from PyQt6.QtCore import pyqtSignal, pyqtProperty, QObject # TODO: common code, Qt5/Qt6 mismatch! import sys
if getattr(sys, '_GUI_QT_VERSION') == 5: # FIXME: remove when both desktop and mobile are Qt6
from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject
else:
from PyQt6.QtCore import pyqtSignal, pyqtProperty, QObject
from electrum.logging import get_logger from electrum.logging import get_logger

1
electrum/gui/qml/__init__.py

@ -16,6 +16,7 @@ except Exception:
from PyQt6.QtCore import (Qt, QCoreApplication, QLocale, QTranslator, QTimer, QT_VERSION_STR, PYQT_VERSION_STR) from PyQt6.QtCore import (Qt, QCoreApplication, QLocale, QTranslator, QTimer, QT_VERSION_STR, PYQT_VERSION_STR)
from PyQt6.QtGui import QGuiApplication from PyQt6.QtGui import QGuiApplication
sys._GUI_QT_VERSION = 6 # used by gui/common_qt
from electrum.i18n import _ from electrum.i18n import _
from electrum.plugin import run_hook from electrum.plugin import run_hook

1
electrum/gui/qt/__init__.py

@ -42,6 +42,7 @@ from PyQt5.QtGui import QGuiApplication
from PyQt5.QtWidgets import QApplication, QSystemTrayIcon, QWidget, QMenu, QMessageBox from PyQt5.QtWidgets import QApplication, QSystemTrayIcon, QWidget, QMenu, QMessageBox
from PyQt5.QtCore import QObject, pyqtSignal, QTimer, Qt from PyQt5.QtCore import QObject, pyqtSignal, QTimer, Qt
import PyQt5.QtCore as QtCore import PyQt5.QtCore as QtCore
sys._GUI_QT_VERSION = 5 # used by gui/common_qt
try: try:
# Preload QtMultimedia at app start, if available. # Preload QtMultimedia at app start, if available.

6
electrum/plugins/trustedcoin/common_qt.py

@ -1,9 +1,13 @@
import threading import threading
import socket import socket
import base64 import base64
import sys
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from PyQt6.QtCore import pyqtSignal, pyqtProperty, pyqtSlot # TODO: common code, Qt5/Qt6 mismatch! if getattr(sys, '_GUI_QT_VERSION') == 5: # FIXME: remove when both desktop and mobile are Qt6
from PyQt5.QtCore import pyqtSignal, pyqtProperty, pyqtSlot
else:
from PyQt6.QtCore import pyqtSignal, pyqtProperty, pyqtSlot
from electrum.i18n import _ from electrum.i18n import _
from electrum.bip32 import BIP32Node from electrum.bip32 import BIP32Node

Loading…
Cancel
Save