From: Niki Roo Date: Thu, 27 Mar 2025 20:43:19 +0000 (+0100) Subject: compatibility fix: PyQt6 X-Git-Url: http://git.nikiroo.be/?a=commitdiff_plain;h=c88d0aad98119321168b0647e60eaa00e92a039d;p=gamiki.git compatibility fix: PyQt6 --- 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