style: добавил стиль для загрузки, скомпоновал статусы

This commit is contained in:
Andrew 2024-12-25 16:01:08 +03:00
parent acbbc33fdb
commit afcbb1abdc
5 changed files with 39 additions and 12 deletions

View File

@ -3,7 +3,7 @@ from typing import Optional
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap, QIcon
import time
from PyQt5.QtWidgets import QSizePolicy as QSP
from utils.base.base import BaseMainWindow, BaseController
from gui.settings_window import SystemSettings, OperatorSettings
@ -136,19 +136,40 @@ class MainWindow(BaseMainWindow):
settings_menu.addAction(view_settings)
def _init_statusBar(self) -> None:
# Создание пользовательского виджета для StatusBar
note_widget = QtWidgets.QWidget()
note_layout = QtWidgets.QVBoxLayout(note_widget)
note_layout = QtWidgets.QHBoxLayout(note_widget)
note_layout.setContentsMargins(10, 1, 10, 1)
note_layout.setSpacing(15) # Устанавливаем расстояние между элементами
# Создание QLabel и QProgressBar
self.mode_label = QtWidgets.QLabel()
self.note_label = QtWidgets.QLabel()
self.progress_bar = QtWidgets.QProgressBar()
self.progress_bar.setRange(0, 100)
self.progress_bar.setValue(0)
self.note_label = QtWidgets.QLabel()
self.note_label.setMinimumWidth(250)
self.progress_bar.setMinimumWidth(250)
self.progress_bar.setMaximumHeight(10)
self.progress_bar.setTextVisible(False)
note_layout.addWidget(self.note_label, alignment=Qt.AlignLeft)
note_layout.addWidget(self.progress_bar, alignment=Qt.AlignLeft)
self.statusBar().addPermanentWidget(note_widget)
# Создание QSpacerItem
# Установка политики размеров
self.mode_label.setSizePolicy(QSP.Policy.Preferred, QSP.Policy.Preferred)
self.note_label.setSizePolicy(QSP.Policy.MinimumExpanding, QSP.Policy.Preferred)
self.progress_bar.setSizePolicy(QSP.Policy.Fixed, QSP.Policy.Preferred)
# Добавление виджетов в макет
note_layout.addWidget(self.mode_label)
note_layout.addWidget(self.note_label)
note_layout.addStretch(1)
note_layout.addWidget(self.progress_bar)
# Установка политики размеров для note_widget
note_widget.setSizePolicy(QSP.Policy.Expanding, QSP.Policy.Preferred)
# Добавление пользовательского виджета в StatusBar как Permanent Widget
self.statusBar().addPermanentWidget(note_widget, 1)
def _toggle_visibility(self, body:QtWidgets.QDockWidget = None) -> None:
"""
@ -183,10 +204,9 @@ class MainWindow(BaseMainWindow):
button_widget = QtWidgets.QWidget()
button_widget.setLayout(button_layout)
title = QtWidgets.QLabel("online mode")
self.mode_label.setText("online mode")
self._central_layout.addWidget(self.tabWidget)
self._central_layout.addWidget(button_widget)
self._central_layout.addWidget(title, alignment=Qt.AlignRight)
self._controller.seeking_mode()
def _init_raportUI(self) -> None:
@ -209,10 +229,9 @@ class MainWindow(BaseMainWindow):
button_widget = QtWidgets.QWidget()
button_widget.setLayout(button_layout)
title = QtWidgets.QLabel("raport mode")
self.mode_label.setText("raport mode")
self._central_layout.addWidget(self.tabWidget)
self._central_layout.addWidget(button_widget)
self._central_layout.addWidget(title, alignment=Qt.AlignRight)
self._controller.raport_mode()
@ -255,7 +274,7 @@ class MainWindow(BaseMainWindow):
def update_stateLabel(self, msg: str = None) -> None:
self.note_label.setText(msg)
self.note_label.adjustSize()
def _transfer_settings(self) -> None:
self.tabWidget.clear()

View File

@ -263,7 +263,9 @@ QDockWidget::close-button, QDockWidget::float-button {
}
QDockWidget::close-button:hover, QDockWidget::float-button:hover {
border: none;
background-color: #FFD700 ;
icon-size: 18px;
}
/*
@ -321,6 +323,12 @@ QTableView QScrollBar::handle:vertical {
}
*/
QProgressBar {
border: 2px solid grey;
border-radius: 5px;
text-align: center;
}
/*
------------------------------------------------------
Завершение стиля