wip: refacto qss, new assets

This commit is contained in:
2026-03-06 11:24:45 +01:00
parent 42768aa78a
commit a437de91df
11 changed files with 10793 additions and 132 deletions

View File

@@ -9,6 +9,7 @@
"editorconfig.editorconfig", "editorconfig.editorconfig",
"njpwerner.autodocstring", "njpwerner.autodocstring",
"redhat.vscode-yaml", "redhat.vscode-yaml",
"tamasfe.even-better-toml" "tamasfe.even-better-toml",
"theqtcompany.qt",
] ]
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

23
assets/computer-tv.svg Normal file
View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 501.333 501.333" xml:space="preserve">
<path style="fill:#637888;" d="M458.667,241.067c0,11.733-8.533,21.333-20.267,21.333H62.933c-10.667,0-20.267-9.6-20.267-21.333
V21.333C42.667,9.6,51.2,0,62.933,0H438.4c10.667,0,20.267,9.6,20.267,21.333L458.667,241.067L458.667,241.067z"/>
<path style="fill:#53C2EF;" d="M62.933,249.6c-5.333,0-8.533-4.267-8.533-9.6V21.333c0-5.333,4.267-9.6,8.533-9.6H438.4
c5.333,0,8.533,4.267,8.533,9.6v219.733c0,5.333-4.267,9.6-8.533,9.6H62.933V249.6z"/>
<rect x="166.4" y="262.4" style="fill:#3A5569;" width="168.533" height="61.867"/>
<path style="fill:#637888;" d="M363.733,317.867H137.6c-18.133,0-34.133,10.667-34.133,23.467h294.4
C397.867,328.533,382.933,317.867,363.733,317.867z"/>
<rect y="342.4" style="fill:#3A5569;" width="501.333" height="158.933"/>
<g>
<rect x="268.8" y="375.467" style="fill:#637888;" width="194.133" height="45.867"/>
<rect x="28.8" y="364.8" style="fill:#637888;" width="11.733" height="113.067"/>
<rect x="60.8" y="364.8" style="fill:#637888;" width="11.733" height="113.067"/>
<rect x="91.733" y="364.8" style="fill:#637888;" width="11.733" height="113.067"/>
<rect x="122.667" y="364.8" style="fill:#637888;" width="11.733" height="113.067"/>
<rect x="153.6" y="364.8" style="fill:#637888;" width="11.733" height="113.067"/>
</g>
<circle style="fill:#F16D6E;" cx="225.067" cy="400" r="11.733"/>
<circle style="fill:#60C3AB;" cx="225.067" cy="443.733" r="11.733"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

14
assets/padlock-lock.svg Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512.001 512.001" xml:space="preserve">
<path style="fill:#FF9E16;" d="M459.897,231.945c0-16.19-13.246-29.436-29.436-29.436H81.54c-16.19,0-29.436,13.247-29.436,29.436
v250.619C52.104,498.754,65.349,512,81.54,512H430.46c16.189,0,29.436-13.246,29.436-29.436V231.945H459.897z"/>
<path style="fill:#0071CE;" d="M52.104,458.106v24.459c0,16.189,13.245,29.436,29.436,29.436H430.46
c16.189,0,29.436-13.246,29.436-29.436v-24.459H52.104z"/>
<path style="fill:#0055B8;" d="M284.42,344.612c14.456-9.34,24.033-25.585,24.033-44.077c0-28.969-23.484-52.453-52.453-52.453
s-52.453,23.484-52.453,52.453c0,18.491,9.578,34.736,24.034,44.077l-9.012,61.623c-0.809,5.538,3.107,10.069,8.703,10.069h57.457
c5.597,0,9.513-4.531,8.703-10.069L284.42,344.612z"/>
<path style="fill:#333E48;" d="M384.933,202.51h-52.985v-73.576c0-41.878-34.069-75.948-75.948-75.948s-75.949,34.069-75.949,75.948
v73.576h-52.985v-73.576C127.067,57.839,184.907,0,256.001,0s128.933,57.839,128.933,128.933L384.933,202.51L384.933,202.51z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

30
assets/sound-speaker.svg Normal file
View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512" xml:space="preserve">
<path style="fill:#4A5058;" d="M144.24,167.708H29.247c-11.636,0-21.069,9.433-21.069,21.067v134.448
c0,11.636,9.433,21.067,21.069,21.067H144.24V167.708z"/>
<rect x="62.112" y="167.704" style="fill:#E45D4C;" width="28.195" height="176.582"/>
<path style="fill:#7E858B;" d="M297.578,62.32L144.24,167.708v176.583L297.578,449.68c7.783,5.349,18.374-0.222,18.374-9.666V71.986
C315.952,62.542,305.361,56.97,297.578,62.32z"/>
<path style="opacity:0.2;enable-background:new ;" d="M311.097,436.161L162.493,334.026c-3.083-2.119-6.738-3.253-10.479-3.253
H42.765c-11.636,0-21.067-9.433-21.067-21.067V175.258c0-2.274,0.371-4.46,1.037-6.512c-8.446,2.745-14.555,10.669-14.555,20.03
v134.448c0,11.636,9.433,21.067,21.069,21.067h114.992L297.579,449.68c7.783,5.349,18.374-0.222,18.374-9.666v-1.91
C314.293,437.846,312.64,437.222,311.097,436.161z"/>
<path d="M429.806,79.937c-3.457-2.908-8.618-2.46-11.523,0.999c-2.906,3.458-2.459,8.617,0.999,11.523
c48.528,40.785,76.361,100.396,76.361,163.546c0,63.149-27.833,122.76-76.361,163.545c-3.458,2.907-3.905,8.066-0.999,11.523
c1.617,1.926,3.933,2.917,6.266,2.917c1.857,0,3.726-0.629,5.258-1.918C482.041,388.171,512,323.996,512,256.004
C512,188.012,482.041,123.837,429.806,79.937z M393.581,123.107c-3.457-2.906-8.617-2.462-11.523,0.999
c-2.906,3.458-2.459,8.617,0.999,11.523c35.719,30.021,56.205,73.897,56.205,120.375s-20.486,90.353-56.205,120.374
c-3.458,2.906-3.905,8.066-0.999,11.523c1.617,1.926,3.934,2.917,6.266,2.917c1.857,0,3.726-0.629,5.258-1.918
c39.427-33.137,62.04-81.576,62.04-132.896S433.008,156.246,393.581,123.107z M313.492,54.367
c-6.567-3.454-14.438-2.987-20.547,1.212L141.7,159.529H29.247C13.12,159.528,0,172.649,0,188.776v134.448
c0,16.127,13.12,29.247,29.247,29.247H141.7l151.246,103.95c3.39,2.331,7.321,3.511,11.272,3.511c3.17,0,6.353-0.76,9.276-2.298
c6.562-3.453,10.639-10.205,10.639-17.619V71.986C324.131,64.571,320.055,57.82,313.492,54.367z M136.061,336.113H29.247
c-7.106,0-12.888-5.781-12.888-12.888V188.776c0-7.108,5.782-12.888,12.888-12.888H136.06v160.225H136.061z M307.772,440.014
c0,1.865-1.189,2.769-1.897,3.142c-0.709,0.371-2.126,0.841-3.663-0.216L152.42,339.989V172.011L302.212,69.06
c1.539-1.057,2.956-0.586,3.663-0.216c0.709,0.373,1.897,1.277,1.897,3.142V440.014z M357.385,166.238
c-3.461-2.904-8.619-2.455-11.525,1.002c-2.905,3.459-2.456,8.619,1.002,11.525c22.889,19.225,36.017,47.379,36.017,77.24
s-13.128,58.013-36.017,77.239c-3.458,2.905-3.908,8.066-1.002,11.525c1.618,1.926,3.935,2.918,6.268,2.918
c1.856,0,3.723-0.628,5.257-1.916c26.599-22.342,41.854-55.06,41.854-89.766C399.239,221.299,383.984,188.581,357.385,166.238z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,5 +1,10 @@
<RCC> <RCC>
<qresource prefix="/"> <qresource prefix="/">
<file>assets/sound-speaker.svg</file>
<file>assets/computer-tv.svg</file>
<file>assets/padlock-lock.svg</file>
<file>assets/logo.png</file>
<file>assets/Logo_Discord_2015.png</file>
<file>assets/system-shutdown.png</file> <file>assets/system-shutdown.png</file>
<file>assets/Avocado-Cake-Demo.otf</file> <file>assets/Avocado-Cake-Demo.otf</file>
<file>assets/background.png</file> <file>assets/background.png</file>

View File

@@ -1,13 +1,12 @@
import sys import sys
import os import os
from PyQt6 import QtGui, QtWidgets
from PyQt6 import uic from PyQt6 import uic
from PyQt6.QtCore import Qt from PyQt6.QtCore import Qt
from PyQt6.QtGui import QFontDatabase, QFont, QColor from PyQt6.QtGui import QFontDatabase, QFont
from PyQt6.QtWidgets import QApplication, QMainWindow from PyQt6.QtWidgets import QApplication, QMainWindow
# Compile resources.qrc into resources_rc.py # Compile resources.qrc into resources_rc.py
# rcc -g python resources.qrc -o 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 import resources as resources # This is generated from the .qrc file # noqa: F401
@@ -16,7 +15,7 @@ if sys.platform.startswith('linux'):
os.environ["QT_QPA_PLATFORM"] = "xcb" os.environ["QT_QPA_PLATFORM"] = "xcb"
if sys.platform=='windows' or sys.platform=="win32": if sys.platform=='windows' or sys.platform=="win32":
from win11toast import toast, notify # type: ignore from win11toast import toast # type: ignore
# Remove this into final release # Remove this into final release
from fake_patch_notes import patch_note from fake_patch_notes import patch_note
@@ -49,15 +48,11 @@ class MainWindow(QMainWindow):
# Track mouse position for dragging # Track mouse position for dragging
self._drag_pos = None self._drag_pos = None
# Load font family from resource
font_family = load_custom_font()
uic.loadUi(f"{os.path.dirname(CURRENT)}/ui/mainwindow.ui", self) uic.loadUi(f"{os.path.dirname(CURRENT)}/ui/mainwindow.ui", self)
# Adjust UI # Fixe some qss properties not taken into account
self.maintitle_label.setFont(QFont(font_family, 38)) self.subtitle_label.setStyleSheet("color: rgb(163, 177, 198);")
self.subtitle_label.setStyleSheet("color: rgb(163, 177, 198)") self.queue_position.setStyleSheet("color: rgb(17, 248, 183);")
#self.horizontalSlider.setStyle(ThinAddPageLineStyle(app.style(), QColor("#2196F3")))
if NO_STAFF : if NO_STAFF :
self.staff_btn.hide() self.staff_btn.hide()
@@ -69,7 +64,6 @@ class MainWindow(QMainWindow):
# Example: objectName = "close_btn" # Example: objectName = "close_btn"
self.close_btn.clicked.connect(self.close_link) self.close_btn.clicked.connect(self.close_link)
self.minimize_btn.clicked.connect(self.minimize_link) self.minimize_btn.clicked.connect(self.minimize_link)
self.connexion_btn.clicked.connect(self.connexion_btn_link) self.connexion_btn.clicked.connect(self.connexion_btn_link)
def close_link(self): def close_link(self):
@@ -113,13 +107,14 @@ if __name__ == "__main__":
with open(f"{os.path.dirname(CURRENT)}/styles/styles.qss", 'r') as f: with open(f"{os.path.dirname(CURRENT)}/styles/styles.qss", 'r') as f:
style = f.read() style = f.read()
# Set the stylesheet of the application
app.setStyleSheet(style)
# Load and set the global font # Load and set the global font
custom_font = QFont(load_custom_font(), 16) custom_font = QFont(load_custom_font(), 16)
if custom_font: if custom_font:
app.setFont(custom_font) app.setFont(custom_font)
# Set the stylesheet of the application
app.setStyleSheet(style)
window = MainWindow() window = MainWindow()
window.show() window.show()
sys.exit(app.exec()) sys.exit(app.exec())

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,28 @@
#main_container {
border-radius: 30px;
background-image: url(:/assets/background.png);
background-repeat: no-repeat;
background-position: center;
}
QLabel#maintitle_label {
font-size: 38px;
}
QLabel#subtitle_label {
color: rgb(163, 177, 198);
}
QLabel#queue_position {
font-size: 36px;
color: rgb(17, 248, 183);
}
QPushButton#connexion_btn { QPushButton#connexion_btn {
border-radius: 15px; border-radius: 15px;
background-color: rgb(255, 120, 0); background-color: rgb(255, 120, 0);
} }
QPushButton#connexion_btn:hover { QPushButton#connexion_btn:hover {
background: #ffad66; background: #ffad66;
} }
@@ -12,7 +31,17 @@ QPushButton#discord_btn,
QPushButton#intranet_btn QPushButton#intranet_btn
{ {
border-radius: 15px; border-radius: 15px;
background-color: #203a43; background-color: rgb(32, 58, 67);
}
QPushButton#discord_btn:hover,
QPushButton#intranet_btn:hover {
background: rgb(68, 124, 143);
}
QPushButton#volume_btn {
border-radius: 15px;
background-color: rgb(255, 120, 0);
} }
QPushButton#close_btn { QPushButton#close_btn {
@@ -30,38 +59,22 @@ QPushButton#minimize_btn {
padding-top: 0 padding-top: 0
} }
QFrame#info_frame{
background: qlineargradient(
x1:0, y1:0,
x2:0, y2:1,
stop:0 rgba(255,255,255,30),
stop:1 rgba(255,255,255,30)
);
border-radius: 20px;
border: 1px solid rgba(255,255,255,140);
}
QTextEdit#info_text { QTextEdit#info_text {
background-color: transparent; background-color: transparent;
border: none; border: none;
} }
/*
QSlider::groove:horizontal {
border: 1px solid #262626;
height: 10px;
}
QSlider::handle:horizontal {
background: rgb(236, 127, 43);
border: 1px solid rgb(236, 127, 43);
width: 23px;
border-radius: 3px;
height: 100px;
margin: -24px -12px;
}
QSlider::sub-page:horizontal{
border:0px;
border-radius:6px;
background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #12b9ff, stop: 1.0 #015eea);
}
QSlider::add-page:horizontal{
border:0px;
border-radius:6px;
background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 rgb(146, 149, 150), stop: 1.0 rgb(253, 254, 254));
}
*/
QSlider::groove:horizontal { QSlider::groove:horizontal {
border: 1px inset #1C1C1C; border: 1px inset #1C1C1C;
height: 6px; height: 6px;
@@ -88,8 +101,8 @@ QSlider::add-page:horizontal {
} }
QSlider::handle:horizontal { QSlider::handle:horizontal {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 rgb(241, 160, 61), stop:1 rgb(233, 111, 29)); background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 rgb(78, 195, 146), stop:1 rgb(57, 144, 107));
border: 1px solid rgb(213, 125, 2); border: 1px solid rgb(78, 195, 146);
width: 12px; width: 12px;
height: 10px; height: 10px;
margin-top: -8px; margin-top: -8px;

View File

@@ -57,14 +57,6 @@
<height>703</height> <height>703</height>
</size> </size>
</property> </property>
<property name="styleSheet">
<string notr="true">#main_container {
border-radius: 30px;
background-image: url(:/assets/background.png);
background-repeat: no-repeat;
background-position: center;
}</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
@@ -366,30 +358,18 @@
<property name="text"> <property name="text">
<string>Position en file d'attente: </string> <string>Position en file d'attente: </string>
</property> </property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLCDNumber" name="lcdNumber"> <widget class="QLabel" name="queue_position">
<property name="maximumSize"> <property name="text">
<size> <string>20</string>
<width>70</width>
<height>50</height>
</size>
</property> </property>
<property name="layoutDirection"> <property name="alignment">
<enum>Qt::LayoutDirection::RightToLeft</enum> <set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Sunken</enum>
</property>
<property name="smallDecimalPoint">
<bool>false</bool>
</property>
<property name="digitCount">
<number>2</number>
</property>
<property name="value" stdset="0">
<double>20.000000000000000</double>
</property> </property>
</widget> </widget>
</item> </item>
@@ -465,12 +445,22 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="volume_btn">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="icon"> <property name="icon">
<iconset theme="QIcon::ThemeIcon::AudioVolumeHigh"/> <iconset resource="../resources.qrc">
<normaloff>:/assets/sound-speaker.svg</normaloff>:/assets/sound-speaker.svg</iconset>
</property>
<property name="flat">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
@@ -577,7 +567,7 @@
<item alignment="Qt::AlignmentFlag::AlignHCenter"> <item alignment="Qt::AlignmentFlag::AlignHCenter">
<widget class="QLabel" name="maintitle_label"> <widget class="QLabel" name="maintitle_label">
<property name="text"> <property name="text">
<string>la taniere</string> <string>LA TANIÈRE</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -606,7 +596,7 @@
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>un espace pour se retrouver</string> <string>Un espace pour se retrouver</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::TextFormat::AutoText</enum> <enum>Qt::TextFormat::AutoText</enum>
@@ -682,7 +672,17 @@
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="text"> <property name="text">
<string>connexion</string> <string> Connexion</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/assets/padlock-lock.svg</normaloff>:/assets/padlock-lock.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property> </property>
</widget> </widget>
</item> </item>
@@ -754,7 +754,17 @@
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>discord</string> <string> Discord</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/assets/Logo_Discord_2015.png</normaloff>:/assets/Logo_Discord_2015.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property> </property>
</widget> </widget>
</item> </item>
@@ -780,7 +790,17 @@
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>intranet</string> <string> Intranet</string>
</property>
<property name="icon">
<iconset resource="../resources.qrc">
<normaloff>:/assets/computer-tv.svg</normaloff>:/assets/computer-tv.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property> </property>
</widget> </widget>
</item> </item>
@@ -839,16 +859,7 @@
</size> </size>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QFrame#info_frame{ <string notr="true"/>
background: qlineargradient(
x1:0, y1:0,
x2:0, y2:1,
stop:0 rgba(255,255,255,30),
stop:1 rgba(255,255,255,30)
);
border-radius: 20px;
border: 1px solid rgba(255,255,255,140);
}</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum> <enum>QFrame::Shape::StyledPanel</enum>

400
ui/mainwindow_ui.py Normal file
View File

@@ -0,0 +1,400 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'mainwindow.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 PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QLabel,
QMainWindow, QPushButton, QSizePolicy, QSlider,
QSpacerItem, QTextEdit, QVBoxLayout, QWidget)
import resources_rc
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.setWindowModality(Qt.WindowModality.ApplicationModal)
MainWindow.resize(1199, 703)
sizePolicy = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
MainWindow.setSizePolicy(sizePolicy)
MainWindow.setMinimumSize(QSize(1199, 703))
MainWindow.setMaximumSize(QSize(1199, 703))
MainWindow.setContextMenuPolicy(Qt.ContextMenuPolicy.NoContextMenu)
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))
self.main_container.setMaximumSize(QSize(1199, 703))
self.verticalLayout = QVBoxLayout(self.main_container)
self.verticalLayout.setSpacing(0)
self.verticalLayout.setObjectName(u"verticalLayout")
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.title_bar = QFrame(self.main_container)
self.title_bar.setObjectName(u"title_bar")
self.title_bar.setMinimumSize(QSize(1199, 50))
self.title_bar.setMaximumSize(QSize(1199, 50))
self.title_bar.setFrameShape(QFrame.Shape.NoFrame)
self.title_bar.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout = QHBoxLayout(self.title_bar)
self.horizontalLayout.setSpacing(0)
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.horizontalLayout.setContentsMargins(0, 9, 0, 0)
self.horizontalSpacer = QSpacerItem(1006, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout.addItem(self.horizontalSpacer)
self.minimize_btn = QPushButton(self.title_bar)
self.minimize_btn.setObjectName(u"minimize_btn")
self.minimize_btn.setMinimumSize(QSize(0, 0))
self.minimize_btn.setMaximumSize(QSize(25, 25))
self.minimize_btn.setStyleSheet(u"")
self.minimize_btn.setIconSize(QSize(32, 32))
self.horizontalLayout.addWidget(self.minimize_btn)
self.horizontalSpacer_2 = QSpacerItem(20, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum)
self.horizontalLayout.addItem(self.horizontalSpacer_2)
self.close_btn = QPushButton(self.title_bar)
self.close_btn.setObjectName(u"close_btn")
self.close_btn.setMaximumSize(QSize(42, 42))
self.close_btn.setStyleSheet(u"")
icon1 = QIcon()
icon1.addFile(u":/assets/system-shutdown.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.close_btn.setIcon(icon1)
self.close_btn.setIconSize(QSize(32, 32))
self.horizontalLayout.addWidget(self.close_btn)
self.horizontalSpacer_3 = QSpacerItem(30, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum)
self.horizontalLayout.addItem(self.horizontalSpacer_3)
self.verticalLayout.addWidget(self.title_bar)
self.frame_2 = QFrame(self.main_container)
self.frame_2.setObjectName(u"frame_2")
self.frame_2.setMinimumSize(QSize(1199, 0))
self.frame_2.setMaximumSize(QSize(1199, 658))
self.frame_2.setFrameShape(QFrame.Shape.NoFrame)
self.frame_2.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout_2 = QHBoxLayout(self.frame_2)
self.horizontalLayout_2.setSpacing(0)
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.left_column = QFrame(self.frame_2)
self.left_column.setObjectName(u"left_column")
self.left_column.setMinimumSize(QSize(450, 630))
self.left_column.setMaximumSize(QSize(450, 630))
self.left_column.setFrameShape(QFrame.Shape.NoFrame)
self.left_column.setFrameShadow(QFrame.Shadow.Raised)
self.verticalLayout_5 = QVBoxLayout(self.left_column)
self.verticalLayout_5.setSpacing(0)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
self.frame = QFrame(self.left_column)
self.frame.setObjectName(u"frame")
self.frame.setFrameShape(QFrame.Shape.NoFrame)
self.frame.setFrameShadow(QFrame.Shadow.Raised)
self.verticalLayout_5.addWidget(self.frame)
self.frame_3 = QFrame(self.left_column)
self.frame_3.setObjectName(u"frame_3")
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.frame_3.sizePolicy().hasHeightForWidth())
self.frame_3.setSizePolicy(sizePolicy1)
self.frame_3.setMinimumSize(QSize(0, 100))
self.frame_3.setFrameShape(QFrame.Shape.NoFrame)
self.frame_3.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout_6 = QHBoxLayout(self.frame_3)
self.horizontalLayout_6.setSpacing(0)
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0)
self.frame_5 = QFrame(self.frame_3)
self.frame_5.setObjectName(u"frame_5")
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.frame_5.sizePolicy().hasHeightForWidth())
self.frame_5.setSizePolicy(sizePolicy2)
self.frame_5.setMinimumSize(QSize(0, 0))
self.frame_5.setFrameShape(QFrame.Shape.NoFrame)
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.horizontalLayout_8.addWidget(self.label)
self.queue_position = QLabel(self.frame_5)
self.queue_position.setObjectName(u"queue_position")
self.queue_position.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.horizontalLayout_8.addWidget(self.queue_position)
self.horizontalSpacer_5 = QSpacerItem(80, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum)
self.horizontalLayout_8.addItem(self.horizontalSpacer_5)
self.horizontalLayout_6.addWidget(self.frame_5)
self.verticalLayout_5.addWidget(self.frame_3)
self.frame_4 = QFrame(self.left_column)
self.frame_4.setObjectName(u"frame_4")
sizePolicy1.setHeightForWidth(self.frame_4.sizePolicy().hasHeightForWidth())
self.frame_4.setSizePolicy(sizePolicy1)
self.frame_4.setMinimumSize(QSize(0, 0))
self.frame_4.setMaximumSize(QSize(16777215, 50))
self.frame_4.setStyleSheet(u"")
self.frame_4.setFrameShape(QFrame.Shape.NoFrame)
self.frame_4.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout_7 = QHBoxLayout(self.frame_4)
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
self.horizontalSlider = QSlider(self.frame_4)
self.horizontalSlider.setObjectName(u"horizontalSlider")
self.horizontalSlider.setAutoFillBackground(False)
self.horizontalSlider.setStyleSheet(u"")
self.horizontalSlider.setValue(20)
self.horizontalSlider.setOrientation(Qt.Orientation.Horizontal)
self.horizontalSlider.setInvertedAppearance(False)
self.horizontalLayout_7.addWidget(self.horizontalSlider)
self.volume_btn = QPushButton(self.frame_4)
self.volume_btn.setObjectName(u"volume_btn")
self.volume_btn.setMinimumSize(QSize(32, 32))
icon2 = QIcon()
icon2.addFile(u":/assets/sound-speaker.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.volume_btn.setIcon(icon2)
self.volume_btn.setFlat(True)
self.horizontalLayout_7.addWidget(self.volume_btn)
self.horizontalSpacer_10 = QSpacerItem(180, 20, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Minimum)
self.horizontalLayout_7.addItem(self.horizontalSpacer_10)
self.verticalLayout_5.addWidget(self.frame_4)
self.horizontalLayout_2.addWidget(self.left_column)
self.right_column = QFrame(self.frame_2)
self.right_column.setObjectName(u"right_column")
sizePolicy2.setHeightForWidth(self.right_column.sizePolicy().hasHeightForWidth())
self.right_column.setSizePolicy(sizePolicy2)
self.right_column.setMinimumSize(QSize(0, 650))
self.right_column.setMaximumSize(QSize(700, 650))
self.right_column.setFrameShape(QFrame.Shape.NoFrame)
self.right_column.setFrameShadow(QFrame.Shadow.Raised)
self.verticalLayout_2 = QVBoxLayout(self.right_column)
self.verticalLayout_2.setSpacing(0)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.title_frame = QFrame(self.right_column)
self.title_frame.setObjectName(u"title_frame")
sizePolicy1.setHeightForWidth(self.title_frame.sizePolicy().hasHeightForWidth())
self.title_frame.setSizePolicy(sizePolicy1)
self.title_frame.setMinimumSize(QSize(0, 140))
self.title_frame.setMaximumSize(QSize(16777215, 180))
self.title_frame.setStyleSheet(u"")
self.title_frame.setFrameShape(QFrame.Shape.NoFrame)
self.title_frame.setFrameShadow(QFrame.Shadow.Raised)
self.verticalLayout_3 = QVBoxLayout(self.title_frame)
self.verticalLayout_3.setSpacing(0)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.verticalLayout_3.setContentsMargins(-1, -1, -1, 9)
self.maintitle_label = QLabel(self.title_frame)
self.maintitle_label.setObjectName(u"maintitle_label")
self.verticalLayout_3.addWidget(self.maintitle_label, 0, Qt.AlignmentFlag.AlignHCenter)
self.verticalSpacer = QSpacerItem(20, 10, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
self.verticalLayout_3.addItem(self.verticalSpacer)
self.subtitle_label = QLabel(self.title_frame)
self.subtitle_label.setObjectName(u"subtitle_label")
self.subtitle_label.setMinimumSize(QSize(0, 0))
self.subtitle_label.setTextFormat(Qt.TextFormat.AutoText)
self.subtitle_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
self.verticalLayout_3.addWidget(self.subtitle_label)
self.verticalLayout_2.addWidget(self.title_frame, 0, Qt.AlignmentFlag.AlignHCenter)
self.btn_frame = QFrame(self.right_column)
self.btn_frame.setObjectName(u"btn_frame")
sizePolicy1.setHeightForWidth(self.btn_frame.sizePolicy().hasHeightForWidth())
self.btn_frame.setSizePolicy(sizePolicy1)
self.btn_frame.setMinimumSize(QSize(0, 150))
self.btn_frame.setMaximumSize(QSize(16777215, 150))
self.btn_frame.setStyleSheet(u"")
self.btn_frame.setFrameShape(QFrame.Shape.NoFrame)
self.btn_frame.setFrameShadow(QFrame.Shadow.Raised)
self.verticalLayout_4 = QVBoxLayout(self.btn_frame)
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.horizontalLayout_3 = QHBoxLayout()
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(self.horizontalSpacer_4)
self.connexion_btn = QPushButton(self.btn_frame)
self.connexion_btn.setObjectName(u"connexion_btn")
self.connexion_btn.setMinimumSize(QSize(250, 50))
self.connexion_btn.setMaximumSize(QSize(16777215, 16777215))
self.connexion_btn.setStyleSheet(u"")
icon3 = QIcon()
icon3.addFile(u":/assets/padlock-lock.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.connexion_btn.setIcon(icon3)
self.connexion_btn.setIconSize(QSize(32, 32))
self.horizontalLayout_3.addWidget(self.connexion_btn)
self.spacer_substitution = QWidget(self.btn_frame)
self.spacer_substitution.setObjectName(u"spacer_substitution")
self.spacer_substitution.setMinimumSize(QSize(53, 0))
self.horizontalLayout_3.addWidget(self.spacer_substitution)
self.staff_btn = QPushButton(self.btn_frame)
self.staff_btn.setObjectName(u"staff_btn")
self.staff_btn.setMinimumSize(QSize(250, 50))
self.staff_btn.setMaximumSize(QSize(16777215, 16777215))
self.horizontalLayout_3.addWidget(self.staff_btn)
self.horizontalSpacer_6 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_3.addItem(self.horizontalSpacer_6)
self.verticalLayout_4.addLayout(self.horizontalLayout_3)
self.horizontalLayout_4 = QHBoxLayout()
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_4.addItem(self.horizontalSpacer_7)
self.discord_btn = QPushButton(self.btn_frame)
self.discord_btn.setObjectName(u"discord_btn")
self.discord_btn.setMinimumSize(QSize(250, 50))
icon4 = QIcon()
icon4.addFile(u":/assets/Logo_Discord_2015.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.discord_btn.setIcon(icon4)
self.discord_btn.setIconSize(QSize(32, 32))
self.horizontalLayout_4.addWidget(self.discord_btn)
self.horizontalSpacer_8 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_4.addItem(self.horizontalSpacer_8)
self.intranet_btn = QPushButton(self.btn_frame)
self.intranet_btn.setObjectName(u"intranet_btn")
self.intranet_btn.setMinimumSize(QSize(250, 50))
icon5 = QIcon()
icon5.addFile(u":/assets/computer-tv.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.intranet_btn.setIcon(icon5)
self.intranet_btn.setIconSize(QSize(32, 32))
self.horizontalLayout_4.addWidget(self.intranet_btn)
self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_4.addItem(self.horizontalSpacer_9)
self.verticalLayout_4.addLayout(self.horizontalLayout_4)
self.verticalLayout_2.addWidget(self.btn_frame)
self.verticalSpacer_3 = QSpacerItem(20, 20, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
self.verticalLayout_2.addItem(self.verticalSpacer_3)
self.info_frame = QFrame(self.right_column)
self.info_frame.setObjectName(u"info_frame")
sizePolicy1.setHeightForWidth(self.info_frame.sizePolicy().hasHeightForWidth())
self.info_frame.setSizePolicy(sizePolicy1)
self.info_frame.setMinimumSize(QSize(0, 310))
self.info_frame.setMaximumSize(QSize(16777215, 280))
self.info_frame.setStyleSheet(u"")
self.info_frame.setFrameShape(QFrame.Shape.StyledPanel)
self.info_frame.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout_5 = QHBoxLayout(self.info_frame)
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
self.info_text = QTextEdit(self.info_frame)
self.info_text.setObjectName(u"info_text")
self.info_text.setReadOnly(True)
self.horizontalLayout_5.addWidget(self.info_text)
self.verticalLayout_2.addWidget(self.info_frame)
self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_2.addItem(self.verticalSpacer_2)
self.horizontalLayout_2.addWidget(self.right_column)
self.verticalLayout.addWidget(self.frame_2)
MainWindow.setCentralWidget(self.main_container)
self.retranslateUi(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
# setupUi
def retranslateUi(self, MainWindow):
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_position.setText(QCoreApplication.translate("MainWindow", u"20", None))
self.volume_btn.setText("")
self.maintitle_label.setText(QCoreApplication.translate("MainWindow", u"LA TANI\u00c8RE", None))
self.subtitle_label.setText(QCoreApplication.translate("MainWindow", u"Un espace pour se retrouver", None))
self.connexion_btn.setText(QCoreApplication.translate("MainWindow", u" Connexion", None))
self.staff_btn.setText(QCoreApplication.translate("MainWindow", u"staff", None))
self.discord_btn.setText(QCoreApplication.translate("MainWindow", u" Discord", None))
self.intranet_btn.setText(QCoreApplication.translate("MainWindow", u" Intranet", None))
# retranslateUi