From c88d0aad98119321168b0647e60eaa00e92a039d Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Thu, 27 Mar 2025 21:43:19 +0100 Subject: [PATCH] compatibility fix: PyQt6 --- gamiki-qt.py | 18 ++---------------- gamiki/qt/__init__.py | 0 gamiki/qt/imports.py | 22 ++++++++++++++++++++++ gamiki/qt/tiles.py | 14 +------------- 4 files changed, 25 insertions(+), 29 deletions(-) create mode 100644 gamiki/qt/__init__.py create mode 100644 gamiki/qt/imports.py diff --git a/gamiki-qt.py b/gamiki-qt.py index 97ba1f0..4d4991a 100755 --- a/gamiki-qt.py +++ b/gamiki-qt.py @@ -2,22 +2,8 @@ from sys import argv, stderr, exit -try: - from PyQt6.QtGui import QIcon - from PyQt6.QtCore import * - from PyQt6.QtWidgets import * - print("Running on PyQt6", file=stderr) -except: - try: - # apt-get install python3-pyqt5 - from PyQt5.QtGui import QIcon - from PyQt5.QtCore import * - from PyQt5.QtWidgets import * - print("Running on PyQt5", file=stderr) - except: - from PyQt4.QtGui import * - from PyQt4.QtCore import * - print("Running on PyQt4", file=stderr) +from gamiki.qt.imports import * +print(f"Running on {pyqt_version}", file=stderr) from gamiki import Builder, Library from gamiki.qt.utils import start diff --git a/gamiki/qt/__init__.py b/gamiki/qt/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gamiki/qt/imports.py b/gamiki/qt/imports.py new file mode 100644 index 0000000..23dcea3 --- /dev/null +++ b/gamiki/qt/imports.py @@ -0,0 +1,22 @@ +pyqt_version = "" +try: + from PyQt6.QtCore import * + from PyQt6.QtWidgets import * + from PyQt6.QtGui import * + Qt.AlignRight = Qt.AlignmentFlag.AlignCenter + Qt.WA_TransparentForMouseEvents = ( + Qt.WidgetAttribute.WA_TransparentForMouseEvents + ) + QApplication.exec_ = QApplication.exec + pyqt_version = "PyQt6" +except: + try: + from PyQt5.QtCore import * + from PyQt5.QtWidgets import * + from PyQt5.QtGui import * + pyqt_version = "PyQt5" + except: + from PyQt4.QtCore import * + from PyQt4.QtGui import * + pyqt_version = "PyQt4" + diff --git a/gamiki/qt/tiles.py b/gamiki/qt/tiles.py index 55c6143..3c2fcab 100755 --- a/gamiki/qt/tiles.py +++ b/gamiki/qt/tiles.py @@ -6,20 +6,8 @@ from sys import argv, exit from enum import IntFlag from pathlib import PurePath -try: - from PyQt6.QtCore import * - from PyQt6.QtWidgets import * - from PyQt6.QtGui import QPixmap -except: - try: - from PyQt5.QtCore import * - from PyQt5.QtWidgets import * - from PyQt5.QtGui import QPixmap - except: - from PyQt4.QtCore import * - from PyQt4.QtGui import * - from gamiki import Game +from gamiki.qt.imports import * from gamiki.qt.utils import makeMouseAware from gamiki.qt.flow_layout import FlowLayout -- 2.27.0