优化了部分代码结构;
修改了复选框的样式
This commit is contained in:
@ -3,7 +3,6 @@ from pathlib import Path
|
||||
from traceback import format_exc
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
from PySide6.QtCore import QEvent
|
||||
from PySide6.QtWidgets import QMessageBox, QMainWindow, QApplication
|
||||
from matplotlib.backends.backend_qt import NavigationToolbar2QT
|
||||
from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg as FigureCanvas
|
||||
@ -275,8 +274,6 @@ class MainWindow_approximately_align(QMainWindow):
|
||||
|
||||
PublicFunc.__resetAllButton__(self, ButtonState)
|
||||
|
||||
# self.ui.groupBox_align_position.setEnabled(False)
|
||||
|
||||
self.ui.pushButton_input.clicked.connect(self.__slot_btn_input__)
|
||||
self.ui.pushButton_input_setting.clicked.connect(self.setting.show)
|
||||
self.ui.pushButton_Standardize.clicked.connect(self.__slot_btn_Standardize__)
|
||||
|
||||
@ -9,7 +9,7 @@ from PySide6.QtWidgets import QMessageBox, QMainWindow, QApplication, QTableWidg
|
||||
from matplotlib import gridspec, patches
|
||||
from matplotlib.backends.backend_qt import NavigationToolbar2QT
|
||||
from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg
|
||||
from numpy import array, sum as np_sum, nonzero
|
||||
from numpy import array
|
||||
from numpy.fft import fft, fftfreq
|
||||
from overrides import overrides
|
||||
from pandas import read_csv, DataFrame, concat
|
||||
|
||||
@ -365,6 +365,21 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
|
||||
path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
def set_dark_mode_status(self):
|
||||
module_list = [
|
||||
self,
|
||||
self.approximately_align,
|
||||
self.preprocess,
|
||||
self.detect_Jpeak,
|
||||
self.detect_Rpeak,
|
||||
self.label_check,
|
||||
self.precisely_align,
|
||||
self.cut_PSG,
|
||||
self.artifact_label,
|
||||
self.bcg_quality_label,
|
||||
self.resp_quality_label,
|
||||
self.SA_label
|
||||
]
|
||||
|
||||
try:
|
||||
if self.ui.checkBox_darkmode.isChecked():
|
||||
QApplication.styleHints().setColorScheme(Qt.ColorScheme.Dark)
|
||||
@ -374,65 +389,12 @@ class MainWindow(QMainWindow, Ui_Signal_Label):
|
||||
PublicFunc.msgbox_output(self, Constants.MAINWINDOW_DARKMODE_FAILURE + "。" + format_exc(), Constants.MSGBOX_TYPE_ERROR)
|
||||
return
|
||||
|
||||
try:
|
||||
MainWindow.update_widget_style(self)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.approximately_align is not None:
|
||||
MainWindow.update_widget_style(self.approximately_align)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.preprocess is not None:
|
||||
MainWindow.update_widget_style(self.preprocess)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.detect_Jpeak is not None:
|
||||
MainWindow.update_widget_style(self.detect_Jpeak)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.detect_Rpeak is not None:
|
||||
MainWindow.update_widget_style(self.detect_Rpeak)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.label_check is not None:
|
||||
MainWindow.update_widget_style(self.label_check)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.precisely_align is not None:
|
||||
MainWindow.update_widget_style(self.precisely_align)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.cut_PSG is not None:
|
||||
MainWindow.update_widget_style(self.cut_PSG)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.artifact_label is not None:
|
||||
MainWindow.update_widget_style(self.artifact_label)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.bcg_quality_label is not None:
|
||||
MainWindow.update_widget_style(self.bcg_quality_label)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.resp_quality_label is not None:
|
||||
MainWindow.update_widget_style(self.resp_quality_label)
|
||||
except RuntimeError:
|
||||
pass
|
||||
try:
|
||||
if self.SA_label is not None:
|
||||
MainWindow.update_widget_style(self.SA_label)
|
||||
except RuntimeError:
|
||||
pass
|
||||
for module in module_list:
|
||||
try:
|
||||
if module is not None:
|
||||
MainWindow.update_widget_style(module)
|
||||
except RuntimeError:
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def update_widget_style(mainWindow):
|
||||
|
||||
@ -94,6 +94,30 @@ class Constants:
|
||||
background-color: rgba(255, 0, 0, 128); /* 鼠标悬停时的背景颜色 */
|
||||
}"""
|
||||
|
||||
CHECKBOX_STYLE_NORMAL: str = '''
|
||||
QCheckBox {
|
||||
border: 2px solid rgb(128, 128, 128);
|
||||
border-radius: 11px;
|
||||
}
|
||||
QCheckBox::indicator{
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:checked {
|
||||
background-color: rgba(0, 255, 0, 192);
|
||||
image: url(./image/correct.svg);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:unchecked {
|
||||
background-color: rgba(255, 0, 0, 128);
|
||||
}
|
||||
|
||||
QCheckBox::indicator:disabled {
|
||||
background-color: rgba(119, 136, 153, 128);
|
||||
}'''
|
||||
|
||||
FAILURE_REASON: dict = {
|
||||
"Path_Not_Exist": "(路径不存在)",
|
||||
"File_Not_Exist": "(数据文件不存在)",
|
||||
|
||||
@ -2,7 +2,7 @@ from datetime import datetime
|
||||
from logging import error, info
|
||||
from pathlib import Path
|
||||
|
||||
from PySide6.QtWidgets import QMessageBox, QWidget, QPushButton, QProgressBar, QApplication, QRadioButton
|
||||
from PySide6.QtWidgets import QMessageBox, QWidget, QPushButton, QProgressBar, QApplication, QRadioButton, QCheckBox
|
||||
|
||||
from func.utils.Constants import Constants
|
||||
from func.utils.CustomException import TipsTypeValueNotExistError, MsgBoxTypeValueNotExistError
|
||||
@ -152,6 +152,8 @@ class PublicFunc:
|
||||
if isinstance(widget, QPushButton):
|
||||
if widget.objectName() in buttonState["Default"].keys():
|
||||
widget.setStyleSheet(Constants.LABELBTN_STYLE_NORMAL)
|
||||
if isinstance(widget, QCheckBox):
|
||||
widget.setStyleSheet(Constants.CHECKBOX_STYLE_NORMAL)
|
||||
|
||||
@staticmethod
|
||||
def add_progressbar(mainWindow):
|
||||
|
||||
2
image/correct.svg
Normal file
2
image/correct.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" ?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 200 200" data-name="Layer 1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"><title/><path d="M100,15a85,85,0,1,0,85,85A84.93,84.93,0,0,0,100,15Zm0,150a65,65,0,1,1,65-65A64.87,64.87,0,0,1,100,165Zm25-91.5-29,35L76,94c-4.5-3.5-10.5-2.5-14,2s-2.5,10.5,2,14c6,4.5,12.5,9,18.5,13.5,4.5,3,8.5,7.5,14,8,1.5,0,3.5,0,5-1l3-3,22.5-27c4-5,8-9.5,12-14.5,3-4,4-9,.5-13L138,71.5c-3.5-2.5-9.5-2-13,2Z"/></svg>
|
||||
|
After Width: | Height: | Size: 560 B |
4
run.py
4
run.py
@ -1,3 +1,4 @@
|
||||
from importlib.util import find_spec
|
||||
from logging import getLogger, NOTSET, FileHandler, Formatter, StreamHandler, info
|
||||
from os import environ
|
||||
from pathlib import Path
|
||||
@ -6,7 +7,6 @@ from time import strftime, localtime, time
|
||||
from PySide6.QtCore import Qt
|
||||
from PySide6.QtWidgets import QApplication
|
||||
from func.Module_mainwindow import MainWindow
|
||||
import importlib.util
|
||||
|
||||
if __name__ == '__main__':
|
||||
# 设置日志
|
||||
@ -28,7 +28,7 @@ if __name__ == '__main__':
|
||||
info("程序启动")
|
||||
|
||||
# 解决 Could not find the Qt platform plugin "windows"
|
||||
spec = importlib.util.find_spec("PySide6")
|
||||
spec = find_spec("PySide6")
|
||||
if spec and spec.origin:
|
||||
dirname = Path(spec.origin).parent
|
||||
plugin_path = dirname / 'plugins' / 'platforms'
|
||||
|
||||
Reference in New Issue
Block a user