Passage à PySide6 car licence plus permissive

This commit is contained in:
2026-03-09 12:22:49 +01:00
parent 75893a8a01
commit 52e4c01f3d
6 changed files with 65 additions and 72 deletions

View File

@@ -1,10 +1,19 @@
PyQt6==6.10.2
PyQt6-Qt6==6.10.2
PyQt6_sip==13.11.0
shiboken6==6.10.2
altgraph==0.17.5
librt==0.8.1
modulegraph==0.19.7
mypy==1.19.1
mypy_extensions==1.1.0
packaging==26.0
pathspec==1.0.4
pefile==2024.8.26
pyinstaller==6.19.0
pyinstaller-hooks-contrib==2026.2
PySide6==6.10.2
PySide6_Addons==6.10.2
PySide6_Essentials==6.10.2
pywin32-ctypes==0.2.3
setuptools==82.0.0
shiboken6==6.10.2
typing_extensions==4.15.0
win11toast==0.36.3
winrt-runtime==3.2.1

View File

@@ -1,32 +1,29 @@
import sys
import os
from pathlib import Path
from PyQt6 import uic
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QFontDatabase, QFont
from PyQt6.QtWidgets import QApplication, QMainWindow
from PySide6 import QtGui
from PySide6.QtCore import Qt
from PySide6.QtGui import QFontDatabase, QFont
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QMainWindow, QApplication
# Compile resources.qrc into resources_rc.py
# rcc -g python .\resources.qrc -o .\src\resources_rc.py
import resources as resources # This is generated from the .qrc file # noqa: F401
# À placer tout en haut, avant les imports PyQt6 si possible
if sys.platform.startswith('linux'):
os.environ["QT_QPA_PLATFORM"] = "xcb"
if sys.platform=='windows' or sys.platform=="win32":
from win11toast import toast # type: ignore
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
bundle_dir = Path(sys._MEIPASS)
else:
bundle_dir = Path(__file__).parent
bundle_dir = Path(__file__).parent.parent
# Remove this into final release
from fake_patch_notes import patch_note
NO_STAFF = True
NO_STAFF = True
CURRENT = os.path.dirname(os.path.realpath(__file__))
def load_custom_font():
@@ -42,67 +39,54 @@ def load_custom_font():
return font_families[0]
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = QUiLoader().load(f"{bundle_dir}/ui/mainwindow.ui", self)
central = self.ui.centralWidget()
self.setCentralWidget(central)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Remove the title bar and window frame
self.setWindowFlags(Qt.WindowType.FramelessWindowHint |Qt.WindowType.Window)
self.setWindowFlags(Qt.WindowType.FramelessWindowHint | Qt.WindowType.Window)
# Optional: Make background transparent (if you want rounded corners, etc.)
self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
# Track mouse position for dragging
self._drag_pos = None
uic.loadUi(f"{bundle_dir}/ui/mainwindow.ui", self)
# Fixe some qss properties not taken into account
self.subtitle_label.setStyleSheet("color: rgb(163, 177, 198);")
self.queue_position.setStyleSheet("color: rgb(17, 248, 183);")
if NO_STAFF :
self.staff_btn.hide()
self.spacer_substitution.hide()
self.ui.staff_btn.hide()
self.ui.spacer_substitution.hide()
self.info_text.setMarkdown(patch_note)
self.ui.info_text.setMarkdown(patch_note)
# Find the button by its objectName in Qt Designer
# Example: objectName = "close_btn"
self.close_btn.clicked.connect(self.close_link)
self.minimize_btn.clicked.connect(self.minimize_link)
self.connexion_btn.clicked.connect(self.connexion_btn_link)
self.ui.close_btn.clicked.connect(self.close)
self.ui.minimize_btn.clicked.connect(self.showMinimized)
self.ui.connexion_btn.clicked.connect(self.connexion_btn_link)
@staticmethod
def close_link():
sys.exit(app.exec())
self.show()
def minimize_link(self):
# Minimize the application
self.setWindowState(Qt.WindowState.WindowMinimized)
# Mouse press event to start dragging
def mousePressEvent(self, event):
# Mouse press event to start dragging
def mousePressEvent(self, event: QtGui.QMouseEvent) -> None:
if event.button() == Qt.MouseButton.LeftButton:
self._drag_pos = event.globalPosition().toPoint() - self.frameGeometry().topLeft()
event.accept()
super().mousePressEvent(event)
# Mouse move event to drag window
def mouseMoveEvent(self, event):
if event.buttons() == Qt.MouseButton.LeftButton and self._drag_pos is not None:
def mouseMoveEvent(self, event: QtGui.QMouseEvent) -> None:
if event.buttons() & Qt.MouseButton.LeftButton and self._drag_pos is not None:
self.move(event.globalPosition().toPoint() - self._drag_pos)
event.accept()
super().mouseMoveEvent(event)
# Mouse release event to stop dragging
def mouseReleaseEvent(self, event):
self._drag_pos = None
event.accept()
super().mouseReleaseEvent(event)
@staticmethod
def connexion_btn_link():
icon = {
'src': ':/assets/background.png',
'placement': 'appLogoOverride'
}
buttons = [
{'activationType': 'protocol', 'arguments': '', 'content': 'Entrer en jeu'},
]
@@ -124,5 +108,5 @@ if __name__ == "__main__":
app.setStyleSheet(style)
window = MainWindow()
window.show()
sys.exit(app.exec())

View File

@@ -3,7 +3,7 @@
# Created by: The Resource Compiler for Qt version 6.10.2
# WARNING! All changes made in this file will be lost!
from PyQt6 import QtCore
from PySide6 import QtCore
qt_resource_data = b"\
\x00\x00\x0bp\

View File

@@ -7,6 +7,7 @@
QLabel#maintitle_label {
font-size: 38px;
color: rgb(255, 255, 255);
}
QLabel#subtitle_label {
@@ -18,9 +19,14 @@ QLabel#queue_position {
color: rgb(17, 248, 183);
}
QLabel#queue_lbl {
color: rgb(255, 255, 255);
}
QPushButton#connexion_btn {
border-radius: 15px;
background-color: rgb(255, 120, 0);
color: rgb(255, 255, 255);
}
QPushButton#connexion_btn:hover {
@@ -32,6 +38,7 @@ QPushButton#intranet_btn
{
border-radius: 15px;
background-color: rgb(32, 58, 67);
color: rgb(255, 255, 255);
}
QPushButton#discord_btn:hover,
@@ -73,6 +80,7 @@ QFrame#info_frame{
QTextEdit#info_text {
background-color: transparent;
border: none;
color: rgb(255, 255, 255);
}
QSlider::groove:horizontal {

View File

@@ -41,9 +41,6 @@
<iconset resource="../resources.qrc">
<normaloff>:/assets/Icone.ico</normaloff>:/assets/Icone.ico</iconset>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<widget class="QWidget" name="main_container">
<property name="minimumSize">
<size>
@@ -351,7 +348,7 @@
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="label">
<widget class="QLabel" name="queue_lbl">
<property name="autoFillBackground">
<bool>false</bool>
</property>

View File

@@ -1,24 +1,20 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'mainwindow.ui'
## Form generated from reading UI file 'mainwindowdJHBSQ.ui'
##
## Created by: Qt User Interface Compiler version 6.10.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PyQt6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PyQt6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PyQt6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QLabel,
QMainWindow, QPushButton, QSizePolicy, QSlider,
QSpacerItem, QTextEdit, QVBoxLayout, QWidget)
import resources_rc
from PySide6.QtCore import (QCoreApplication, QMetaObject, QSize, Qt)
from PySide6.QtGui import (QIcon)
from PySide6.QtWidgets import (QFrame, QHBoxLayout, QLabel,
QPushButton, QSizePolicy, QSlider,
QSpacerItem, QTextEdit, QVBoxLayout, QWidget)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
@@ -37,7 +33,6 @@ class Ui_MainWindow(object):
icon = QIcon()
icon.addFile(u":/assets/Icone.ico", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
MainWindow.setWindowIcon(icon)
MainWindow.setStyleSheet(u"color: rgb(255, 255, 255);")
self.main_container = QWidget(MainWindow)
self.main_container.setObjectName(u"main_container")
self.main_container.setMinimumSize(QSize(1199, 703))
@@ -144,12 +139,12 @@ class Ui_MainWindow(object):
self.frame_5.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout_8 = QHBoxLayout(self.frame_5)
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
self.label = QLabel(self.frame_5)
self.label.setObjectName(u"label")
self.label.setAutoFillBackground(False)
self.label.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.queue_lbl = QLabel(self.frame_5)
self.queue_lbl.setObjectName(u"queue_lbl")
self.queue_lbl.setAutoFillBackground(False)
self.queue_lbl.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_8.addWidget(self.label)
self.horizontalLayout_8.addWidget(self.queue_lbl)
self.queue_position = QLabel(self.frame_5)
self.queue_position.setObjectName(u"queue_position")
@@ -387,7 +382,7 @@ class Ui_MainWindow(object):
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
self.minimize_btn.setText("")
self.close_btn.setText("")
self.label.setText(QCoreApplication.translate("MainWindow", u"Position en file d'attente: ", None))
self.queue_lbl.setText(QCoreApplication.translate("MainWindow", u"Position en file d'attente: ", None))
self.queue_position.setText(QCoreApplication.translate("MainWindow", u"20", None))
self.volume_btn.setText("")
self.maintitle_label.setText(QCoreApplication.translate("MainWindow", u"LA TANI\u00c8RE", None))