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

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.QtGui import QGuiApplication
sys._GUI_QT_VERSION = 6 # used by gui/common_qt
from electrum.i18n import _
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.QtCore import QObject, pyqtSignal, QTimer, Qt
import PyQt5.QtCore as QtCore
sys._GUI_QT_VERSION = 5 # used by gui/common_qt
try:
# Preload QtMultimedia at app start, if available.

6
electrum/plugins/trustedcoin/common_qt.py

@ -1,9 +1,13 @@
import threading
import socket
import base64
import sys
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.bip32 import BIP32Node

Loading…
Cancel
Save