From 9145e72263a1c058aa11f1fd80396d0f84139606 Mon Sep 17 00:00:00 2001 From: Sam Date: Sat, 15 Feb 2025 21:20:54 +0800 Subject: [PATCH] =?UTF-8?q?[feature]=20=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cursorrules | 5 + Avas_System.code-workspace | 8 + __pycache__/Ui_widget.cpython-313.pyc | Bin 0 -> 85695 bytes .../audio_filter_widget.cpython-313.pyc | Bin 0 -> 7470 bytes data/database.db | Bin 0 -> 77824 bytes database/__init__.py | 0 database/__pycache__/__init__.cpython-313.pyc | Bin 0 -> 132 bytes .../__pycache__/db_manager.cpython-313.pyc | Bin 0 -> 8931 bytes database/__pycache__/models.cpython-313.pyc | Bin 0 -> 1442 bytes database/db_manager.py | 165 + database/models.py | 27 + doc/page.png | Bin 0 -> 142245 bytes doc/通道逻辑架构设计.pdf | Bin 0 -> 115306 bytes main.py | 10 + widget.ui | 2793 +++++++++++++++++ widgets/Ui_widget.py | 2695 ++++++++++++++++ widgets/__init__.py | 0 widgets/__pycache__/Ui_widget.cpython-313.pyc | Bin 0 -> 85703 bytes widgets/__pycache__/__init__.cpython-313.pyc | Bin 0 -> 131 bytes .../audio_filter_widget.cpython-313.pyc | Bin 0 -> 27452 bytes .../__pycache__/avas_widget.cpython-313.pyc | Bin 0 -> 8854 bytes widgets/audio_filter_widget.py | 455 +++ widgets/avas_widget.py | 204 ++ 23 files changed, 6362 insertions(+) create mode 100644 .cursorrules create mode 100644 Avas_System.code-workspace create mode 100644 __pycache__/Ui_widget.cpython-313.pyc create mode 100644 __pycache__/audio_filter_widget.cpython-313.pyc create mode 100644 data/database.db create mode 100644 database/__init__.py create mode 100644 database/__pycache__/__init__.cpython-313.pyc create mode 100644 database/__pycache__/db_manager.cpython-313.pyc create mode 100644 database/__pycache__/models.cpython-313.pyc create mode 100644 database/db_manager.py create mode 100644 database/models.py create mode 100644 doc/page.png create mode 100644 doc/通道逻辑架构设计.pdf create mode 100644 main.py create mode 100644 widget.ui create mode 100644 widgets/Ui_widget.py create mode 100644 widgets/__init__.py create mode 100644 widgets/__pycache__/Ui_widget.cpython-313.pyc create mode 100644 widgets/__pycache__/__init__.cpython-313.pyc create mode 100644 widgets/__pycache__/audio_filter_widget.cpython-313.pyc create mode 100644 widgets/__pycache__/avas_widget.cpython-313.pyc create mode 100644 widgets/audio_filter_widget.py create mode 100644 widgets/avas_widget.py diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..b4a569e --- /dev/null +++ b/.cursorrules @@ -0,0 +1,5 @@ +You are an expert in Python, Pysie6 application development. +Key Principles +- Use precise, efficient, and concise Python code to develop Pyside6 applications. +- Follow the principle of minimal changes for each modification. +- Prioritize readability and maintainability. \ No newline at end of file diff --git a/Avas_System.code-workspace b/Avas_System.code-workspace new file mode 100644 index 0000000..876a149 --- /dev/null +++ b/Avas_System.code-workspace @@ -0,0 +1,8 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": {} +} \ No newline at end of file diff --git a/__pycache__/Ui_widget.cpython-313.pyc b/__pycache__/Ui_widget.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dcd68840f9d17f94e75b0c8f62b4081f365013d5 GIT binary patch literal 85695 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 Jg*RZ7{{@}M*DwG8 literal 0 HcmV?d00001 diff --git a/database/__init__.py b/database/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/database/__pycache__/__init__.cpython-313.pyc b/database/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..82e813d0e57cd4127067029a08c27043ed0456df GIT binary patch literal 132 zcmey&%ge<81O*${ri19mAOZ#$p^VQgK*m&tbOudEzm*I{OhDdekkl<@7poY@vc%%} z;L75X)ZCbq#FE6M#NyPL`1s7c%#!$cy@JYH95%W6DWy57c15f}Js>lSL5z>gjEsy$ H%s>_Z6-ymt literal 0 HcmV?d00001 diff --git a/database/__pycache__/db_manager.cpython-313.pyc b/database/__pycache__/db_manager.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..651770fd142378147542a58b1d1c951a7db8c7e7 GIT binary patch literal 8931 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 List[ConfigData]: + with self.get_connection() as conn: + cursor = conn.execute("SELECT id, name, created_at FROM configs") + return [ConfigData(*row) for row in cursor.fetchall()] + + def load_config(self, config_id: int) -> Tuple[Optional[ParamData], List[FilterData]]: + with self.get_connection() as conn: + cursor = conn.execute( + "SELECT * FROM params WHERE config_id = ?", + (config_id,) + ) + param_row = cursor.fetchone() + params = ParamData(*param_row[2:]) if param_row else None + + cursor = conn.execute( + "SELECT * FROM filters WHERE config_id = ? ORDER BY position", + (config_id,) + ) + filters = [FilterData(*row[2:]) for row in cursor.fetchall()] + + return params, filters + + def save_config(self, name: str, params: ParamData, filters: List[FilterData]) -> int: + with self.get_connection() as conn: + cursor = conn.execute( + "INSERT INTO configs (name) VALUES (?)", + (name,) + ) + config_id = cursor.lastrowid + + conn.execute( + """INSERT INTO params + (config_id, delay_data1, ENC_volume_data1, ENT_mx_right_data, ENT_mix_left_data) + VALUES (?, ?, ?, ?, ?)""", + (config_id, params.delay_data1, params.ENC_volume_data1, + params.ENT_mx_right_data, params.ENT_mix_left_data) + ) + + for filter_data in filters: + conn.execute( + """INSERT INTO filters + (config_id, filter_type, freq, q, gain, slope, enabled, position) + VALUES (?, ?, ?, ?, ?, ?, ?, ?)""", + (config_id, filter_data.filter_type, filter_data.freq, + filter_data.q, filter_data.gain, filter_data.slope, + filter_data.enabled, filter_data.position) + ) + + conn.commit() + return config_id + + def update_filter(self, filter_id: int, **kwargs): + with self.get_connection() as conn: + set_clause = ", ".join(f"{k} = ?" for k in kwargs.keys()) + query = f"UPDATE filters SET {set_clause} WHERE id = ?" + conn.execute(query, (*kwargs.values(), filter_id)) + conn.commit() + + def update_params(self, config_id: int, params: ParamData): + with self.get_connection() as conn: + conn.execute( + """UPDATE params SET + delay_data1 = ?, ENC_volume_data1 = ?, + ENT_mx_right_data = ?, ENT_mix_left_data = ? + WHERE config_id = ?""", + (params.delay_data1, params.ENC_volume_data1, + params.ENT_mx_right_data, params.ENT_mix_left_data, + config_id) + ) + conn.commit() + + def init_database(self): + """初始化数据库,如果没有数据则创建默认配置""" + configs = self.get_all_configs() + if not configs: + # 创建默认配置 + default_params = ParamData( + delay_data1=0.0, + ENC_volume_data1=0.0, + ENT_mx_right_data=0.0, + ENT_mix_left_data=0.0 + ) + + # 创建一些默认滤波器 + default_filters = [ + FilterData( + filter_type="PEQ", + freq=1000.0, + q=1.0, + gain=0.0, + slope=12.0 + ), + FilterData( + filter_type="HPF", + freq=20.0, + q=0.707, + gain=0.0, + slope=12.0 + ) + ] + + # 保存默认配置 + self.save_config("Default Config", default_params, default_filters) diff --git a/database/models.py b/database/models.py new file mode 100644 index 0000000..3be871d --- /dev/null +++ b/database/models.py @@ -0,0 +1,27 @@ +from dataclasses import dataclass +from typing import List, Optional, Tuple +from datetime import datetime + +@dataclass +class FilterData: + filter_type: str + freq: float + q: float + gain: float + slope: float + id: int = None + enabled: bool = True + position: int = 0 + +@dataclass +class ParamData: + delay_data1: float + ENC_volume_data1: float + ENT_mx_right_data: float + ENT_mix_left_data: float + +@dataclass +class ConfigData: + id: int + name: str + created_at: str diff --git a/doc/page.png b/doc/page.png new file mode 100644 index 0000000000000000000000000000000000000000..0236be4465f8dd96f04295e51ee90e55c3909f5b GIT binary patch literal 142245 zcmdSAWmuHqxBn}R(xQZP2qFR^!q6=pBGM%wB_%_*0@5*rghNUx-JK#awA9cD%+Mjt z3=H#s`0c&VzRs(2UY^5saS_k(FweTzz3#QX>$9R>Yblf6dvx#4ojYWzDvEFJ+`(-I zK1qlPf#2+zh7AH=aNOT0%ipOOW!wgSz_*jrl)H1MI)UWck^uPm?nf0P_d9p)d)$8F zEZeg9+_{4-R8^FF>tnu$Ijcn~rGorAgS+BDE^QQ~W2YY4Jsyo2`&PAP{6Z-i85wg2 zFKSyykS~OQ4+ZyDx1t<|i<^(@-^~NTaPiTk`msOKc84Y6#dRDVY&>5FhwH)RUo8s3 z>e!r|o73p;uVQHUjO*b@w~HVD|8tQGpTGU| zcio^mrrlP*&{BML>wRcY2tH|uC9Ke! zc|~iMG#J;=U?2a#kKQLtDW5L1xwjTZt)+&b#94A~lnNg;I9WL8#D4B=-puaoYBvA4 zSKUu*;?nF{JtDF|v*6Mi$euqay_KsFEp@SY#c*~WeKOWrW#~CQ9V0ZBnH=A5yqpxC ziV(r?`S3?BE9k%1;}rqoc#yY}e`7SupsZqvo@uxt?g{&y>zB4ZF4HFyY~&2TugJd zS8GwdS2I*xW9=oXyj0I8Zm)XqoOs<0B&yTJwmSi3&nzn`{V&I`(&_ezQ~b44s{QnQ z;qcSiCp_|}BFjFL9xf3~UQcbumMcUz($~W)s!8AVGkI$%f(B=uYWbp*wZtFqySAV0 zSxst!v^N{(KR}I>{JIHfA3~jKjOMd_)?iVK>;
p57IN$<3Q1=KdiZrG5Q&r!Co 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

14<9gyRkri&Mdb(w8#lXdq3*U` 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

?&e;dW<1SDM_&evxhR}s`to0hcO*d`-JltyCd* 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

?0x!n8Z?p{n)|x9+ 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

J@317d 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 NrmF6PN@a_X{{wvY@=*W) literal 0 HcmV?d00001 diff --git a/doc/通道逻辑架构设计.pdf b/doc/通道逻辑架构设计.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5f9566a3cf6141e90d664b07ec3f2c34f4a3f593 GIT binary patch literal 115306 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⁡v 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 z

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 s+&myd&S(5EkCC3Cp&q*-|L + + Widget + + + + 0 + 0 + 691 + 408 + + + + Widget + + + /* --------------------------------------------------------------------------- + + WARNING! File created programmatically. All changes made in this file will be lost! + + Created by the qtsass compiler v0.4.0 + + The definitions are in the "qdarkstyle.qss._styles.scss" module + +--------------------------------------------------------------------------- */ +/* Light Style - QDarkStyleSheet ------------------------------------------ */ +/* + +See Qt documentation: + + - https://doc.qt.io/qt-5/stylesheet.html + - https://doc.qt.io/qt-5/stylesheet-reference.html + - https://doc.qt.io/qt-5/stylesheet-examples.html + +--------------------------------------------------------------------------- */ +/* Reset elements ------------------------------------------------------------ + +Resetting everything helps to unify styles across different operating systems + +--------------------------------------------------------------------------- */ +* { + padding: 0px; + margin: 0px; + border: 0px; + border-style: none; + border-image: none; + outline: 0; +} + +/* specific reset for elements inside QToolBar */ +QToolBar * { + margin: 0px; + padding: 0px; +} + +/* QWidget ---------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QWidget { + background-color: #19232D; + border: 0px solid #455364; + padding: 0px; + color: #DFE1E2; + selection-background-color: #346792; + selection-color: #DFE1E2; +} + +QWidget:disabled { + background-color: #19232D; + color: #788D9C; + selection-background-color: #26486B; + selection-color: #788D9C; +} + +QWidget::item:selected { + background-color: #346792; +} + +QWidget::item:hover:!selected { + background-color: #1A72BB; +} + +/* QMainWindow ------------------------------------------------------------ + +This adjusts the splitter in the dock widget, not qsplitter +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow + +--------------------------------------------------------------------------- */ +QMainWindow::separator { + background-color: #455364; + border: 0px solid #19232D; + spacing: 0px; + padding: 2px; +} + +QMainWindow::separator:hover { + background-color: #60798B; + border: 0px solid #1A72BB; +} + +QMainWindow::separator:horizontal { + width: 5px; + margin-top: 2px; + margin-bottom: 2px; + image: url(":/qss_icons/dark/rc/toolbar_separator_vertical.png"); +} + +QMainWindow::separator:vertical { + height: 5px; + margin-left: 2px; + margin-right: 2px; + image: url(":/qss_icons/dark/rc/toolbar_separator_horizontal.png"); +} + +/* QToolTip --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip + +--------------------------------------------------------------------------- */ +QToolTip { + background-color: #346792; + color: #DFE1E2; + /* If you remove the border property, background stops working on Windows */ + border: none; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Remove opacity, fix #174 - may need to use RGBA */ +} + +/* QStatusBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar + +--------------------------------------------------------------------------- */ +QStatusBar { + border: 1px solid #455364; + /* Fixes Spyder #9120, #9121 */ + background: #455364; + /* Fixes #205, white vertical borders separating items */ +} + +QStatusBar::item { + border: none; +} + +QStatusBar QToolTip { + background-color: #1A72BB; + border: 1px solid #19232D; + color: #19232D; + /* Remove padding, for fix combo box tooltip */ + padding: 0px; + /* Reducing transparency to read better */ + opacity: 230; +} + +QStatusBar QLabel { + /* Fixes Spyder #9120, #9121 */ + background: transparent; +} + +/* QCheckBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox + +--------------------------------------------------------------------------- */ +QCheckBox { + background-color: #19232D; + color: #DFE1E2; + spacing: 4px; + outline: none; + padding-top: 4px; + padding-bottom: 4px; +} + +QCheckBox:focus { + border: none; +} + +QCheckBox QWidget:disabled { + background-color: #19232D; + color: #788D9C; +} + +QCheckBox::indicator { + margin-left: 2px; + height: 14px; + width: 14px; +} + +QCheckBox::indicator:unchecked { + image: url(":/qss_icons/dark/rc/checkbox_unchecked.png"); +} + +QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_unchecked_focus.png"); +} + +QCheckBox::indicator:unchecked:disabled { + image: url(":/qss_icons/dark/rc/checkbox_unchecked_disabled.png"); +} + +QCheckBox::indicator:checked { + image: url(":/qss_icons/dark/rc/checkbox_checked.png"); +} + +QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:focus, QCheckBox::indicator:checked:pressed { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_checked_focus.png"); +} + +QCheckBox::indicator:checked:disabled { + image: url(":/qss_icons/dark/rc/checkbox_checked_disabled.png"); +} + +QCheckBox::indicator:indeterminate { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate.png"); +} + +QCheckBox::indicator:indeterminate:disabled { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate_disabled.png"); +} + +QCheckBox::indicator:indeterminate:focus, QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate_focus.png"); +} + +/* QGroupBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox + +--------------------------------------------------------------------------- */ +QGroupBox { + font-weight: bold; + border: 1px solid #455364; + border-radius: 4px; + padding: 2px; + margin-top: 6px; + margin-bottom: 4px; +} + +QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + left: 4px; + padding-left: 2px; + padding-right: 4px; + padding-top: -4px; +} + +QGroupBox::indicator { + margin-left: 2px; + margin-top: 2px; + padding: 0; + height: 14px; + width: 14px; +} + +QGroupBox::indicator:unchecked { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_unchecked.png"); +} + +QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_unchecked_focus.png"); +} + +QGroupBox::indicator:unchecked:disabled { + image: url(":/qss_icons/dark/rc/checkbox_unchecked_disabled.png"); +} + +QGroupBox::indicator:checked { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_checked.png"); +} + +QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_checked_focus.png"); +} + +QGroupBox::indicator:checked:disabled { + image: url(":/qss_icons/dark/rc/checkbox_checked_disabled.png"); +} + +/* QRadioButton ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton + +--------------------------------------------------------------------------- */ +QRadioButton { + background-color: #19232D; + color: #DFE1E2; + spacing: 4px; + padding-top: 4px; + padding-bottom: 4px; + border: none; + outline: none; +} + +QRadioButton:focus { + border: none; +} + +QRadioButton:disabled { + background-color: #19232D; + color: #788D9C; + border: none; + outline: none; +} + +QRadioButton QWidget { + background-color: #19232D; + color: #DFE1E2; + spacing: 0px; + padding: 0px; + outline: none; + border: none; +} + +QRadioButton::indicator { + border: none; + outline: none; + margin-left: 2px; + height: 14px; + width: 14px; +} + +QRadioButton::indicator:unchecked { + image: url(":/qss_icons/dark/rc/radio_unchecked.png"); +} + +QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:focus, QRadioButton::indicator:unchecked:pressed { + border: none; + outline: none; + image: url(":/qss_icons/dark/rc/radio_unchecked_focus.png"); +} + +QRadioButton::indicator:unchecked:disabled { + image: url(":/qss_icons/dark/rc/radio_unchecked_disabled.png"); +} + +QRadioButton::indicator:checked { + border: none; + outline: none; + image: url(":/qss_icons/dark/rc/radio_checked.png"); +} + +QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:focus, QRadioButton::indicator:checked:pressed { + border: none; + outline: none; + image: url(":/qss_icons/dark/rc/radio_checked_focus.png"); +} + +QRadioButton::indicator:checked:disabled { + outline: none; + image: url(":/qss_icons/dark/rc/radio_checked_disabled.png"); +} + +/* QMenuBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar + +--------------------------------------------------------------------------- */ +QMenuBar { + background-color: #455364; + padding: 2px; + border: 1px solid #19232D; + color: #DFE1E2; + selection-background-color: #1A72BB; +} + +QMenuBar:focus { + border: 1px solid #346792; +} + +QMenuBar::item { + background: transparent; + padding: 4px; +} + +QMenuBar::item:selected { + padding: 4px; + background: transparent; + border: 0px solid #455364; + background-color: #1A72BB; +} + +QMenuBar::item:pressed { + padding: 4px; + border: 0px solid #455364; + background-color: #1A72BB; + color: #DFE1E2; + margin-bottom: 0px; + padding-bottom: 0px; +} + +/* QMenu ------------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu + +--------------------------------------------------------------------------- */ +QMenu { + border: 0px solid #455364; + color: #DFE1E2; + margin: 0px; + background-color: #37414F; + selection-background-color: #1A72BB; +} + +QMenu::separator { + height: 1px; + background-color: #60798B; + color: #DFE1E2; +} + +QMenu::item { + background-color: #37414F; + padding: 4px 24px 4px 28px; + /* Reserve space for selection border */ + border: 1px transparent #455364; +} + +QMenu::item:selected { + color: #DFE1E2; + background-color: #1A72BB; +} + +QMenu::item:pressed { + background-color: #1A72BB; +} + +QMenu::icon { + padding-left: 10px; + width: 14px; + height: 14px; +} + +QMenu::indicator { + padding-left: 8px; + width: 12px; + height: 12px; + /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ + /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ +} + +QMenu::indicator:non-exclusive:unchecked { + image: url(":/qss_icons/dark/rc/checkbox_unchecked.png"); +} + +QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_unchecked_focus.png"); +} + +QMenu::indicator:non-exclusive:unchecked:disabled { + image: url(":/qss_icons/dark/rc/checkbox_unchecked_disabled.png"); +} + +QMenu::indicator:non-exclusive:checked { + image: url(":/qss_icons/dark/rc/checkbox_checked.png"); +} + +QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { + border: none; + image: url(":/qss_icons/dark/rc/checkbox_checked_focus.png"); +} + +QMenu::indicator:non-exclusive:checked:disabled { + image: url(":/qss_icons/dark/rc/checkbox_checked_disabled.png"); +} + +QMenu::indicator:non-exclusive:indeterminate { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate.png"); +} + +QMenu::indicator:non-exclusive:indeterminate:disabled { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate_disabled.png"); +} + +QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate_focus.png"); +} + +QMenu::indicator:exclusive:unchecked { + image: url(":/qss_icons/dark/rc/radio_unchecked.png"); +} + +QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { + border: none; + outline: none; + image: url(":/qss_icons/dark/rc/radio_unchecked_focus.png"); +} + +QMenu::indicator:exclusive:unchecked:disabled { + image: url(":/qss_icons/dark/rc/radio_unchecked_disabled.png"); +} + +QMenu::indicator:exclusive:checked { + border: none; + outline: none; + image: url(":/qss_icons/dark/rc/radio_checked.png"); +} + +QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { + border: none; + outline: none; + image: url(":/qss_icons/dark/rc/radio_checked_focus.png"); +} + +QMenu::indicator:exclusive:checked:disabled { + outline: none; + image: url(":/qss_icons/dark/rc/radio_checked_disabled.png"); +} + +QMenu::right-arrow { + margin: 5px; + padding-left: 12px; + image: url(":/qss_icons/dark/rc/arrow_right.png"); + height: 12px; + width: 12px; +} + +/* QAbstractItemView ------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QAbstractItemView { + alternate-background-color: #19232D; + color: #DFE1E2; + border: 1px solid #455364; + border-radius: 4px; +} + +QAbstractItemView QLineEdit { + padding: 2px; +} + +/* QAbstractScrollArea ---------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QAbstractScrollArea { + background-color: #19232D; + border: 1px solid #455364; + border-radius: 4px; + /* fix #159 */ + padding: 2px; + /* remove min-height to fix #244 */ + color: #DFE1E2; +} + +QAbstractScrollArea:disabled { + color: #788D9C; +} + +/* QScrollArea ------------------------------------------------------------ + +--------------------------------------------------------------------------- */ +QScrollArea QWidget QWidget:disabled { + background-color: #19232D; +} + +/* QScrollBar ------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar + +--------------------------------------------------------------------------- */ +QScrollBar:horizontal { + height: 16px; + margin: 2px 16px 2px 16px; + border: 1px solid #455364; + border-radius: 4px; + background-color: #19232D; +} + +QScrollBar:vertical { + background-color: #19232D; + width: 16px; + margin: 16px 2px 16px 2px; + border: 1px solid #455364; + border-radius: 4px; +} + +QScrollBar::handle:horizontal { + background-color: #60798B; + border: 1px solid #455364; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:hover { + background-color: #346792; + border: #346792; + border-radius: 4px; + min-width: 8px; +} + +QScrollBar::handle:horizontal:focus { + border: 1px solid #1A72BB; +} + +QScrollBar::handle:vertical { + background-color: #60798B; + border: 1px solid #455364; + min-height: 8px; + border-radius: 4px; +} + +QScrollBar::handle:vertical:hover { + background-color: #346792; + border: #346792; + border-radius: 4px; + min-height: 8px; +} + +QScrollBar::handle:vertical:focus { + border: 1px solid #1A72BB; +} + +QScrollBar::add-line:horizontal { + margin: 0px 0px 0px 0px; + border-image: url(":/qss_icons/dark/rc/arrow_right_disabled.png"); + height: 12px; + width: 12px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { + border-image: url(":/qss_icons/dark/rc/arrow_right.png"); + height: 12px; + width: 12px; + subcontrol-position: right; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical { + margin: 3px 0px 3px 0px; + border-image: url(":/qss_icons/dark/rc/arrow_down_disabled.png"); + height: 12px; + width: 12px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { + border-image: url(":/qss_icons/dark/rc/arrow_down.png"); + height: 12px; + width: 12px; + subcontrol-position: bottom; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal { + margin: 0px 3px 0px 3px; + border-image: url(":/qss_icons/dark/rc/arrow_left_disabled.png"); + height: 12px; + width: 12px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { + border-image: url(":/qss_icons/dark/rc/arrow_left.png"); + height: 12px; + width: 12px; + subcontrol-position: left; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical { + margin: 3px 0px 3px 0px; + border-image: url(":/qss_icons/dark/rc/arrow_up_disabled.png"); + height: 12px; + width: 12px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { + border-image: url(":/qss_icons/dark/rc/arrow_up.png"); + height: 12px; + width: 12px; + subcontrol-position: top; + subcontrol-origin: margin; +} + +QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; +} + +QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; +} + +QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +/* QTextEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets + +--------------------------------------------------------------------------- */ +QTextEdit { + background-color: #19232D; + color: #DFE1E2; + border-radius: 4px; + border: 1px solid #455364; +} + +QTextEdit:focus { + border: 1px solid #1A72BB; +} + +QTextEdit:selected { + background: #346792; + color: #455364; +} + +/* QPlainTextEdit --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QPlainTextEdit { + background-color: #19232D; + color: #DFE1E2; + border-radius: 4px; + border: 1px solid #455364; +} + +QPlainTextEdit:focus { + border: 1px solid #1A72BB; +} + +QPlainTextEdit:selected { + background: #346792; + color: #455364; +} + +/* QSizeGrip -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip + +--------------------------------------------------------------------------- */ +QSizeGrip { + background: transparent; + width: 12px; + height: 12px; + image: url(":/qss_icons/dark/rc/window_grip.png"); +} + +/* QStackedWidget --------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QStackedWidget { + padding: 2px; + border: 1px solid #455364; + border: 1px solid #19232D; +} + +/* QToolBar --------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar + +--------------------------------------------------------------------------- */ +QToolBar { + background-color: #455364; + border-bottom: 1px solid #19232D; + padding: 1px; + font-weight: bold; + spacing: 2px; +} + +QToolBar:disabled { + /* Fixes #272 */ + background-color: #455364; +} + +QToolBar::handle:horizontal { + width: 16px; + image: url(":/qss_icons/dark/rc/toolbar_move_horizontal.png"); +} + +QToolBar::handle:vertical { + height: 16px; + image: url(":/qss_icons/dark/rc/toolbar_move_vertical.png"); +} + +QToolBar::separator:horizontal { + width: 16px; + image: url(":/qss_icons/dark/rc/toolbar_separator_horizontal.png"); +} + +QToolBar::separator:vertical { + height: 16px; + image: url(":/qss_icons/dark/rc/toolbar_separator_vertical.png"); +} + +QToolButton#qt_toolbar_ext_button { + background: #455364; + border: 0px; + color: #DFE1E2; + image: url(":/qss_icons/dark/rc/arrow_right.png"); +} + +/* QAbstractSpinBox ------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractSpinBox { + background-color: #19232D; + border: 1px solid #455364; + color: #DFE1E2; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + border-radius: 4px; + /* min-width: 5px; removed to fix 109 */ +} + +QAbstractSpinBox:up-button { + background-color: transparent #19232D; + subcontrol-origin: border; + subcontrol-position: top right; + border-left: 1px solid #455364; + border-bottom: 1px solid #455364; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + margin: 1px; + width: 12px; + margin-bottom: -1px; +} + +QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { + image: url(":/qss_icons/dark/rc/arrow_up_disabled.png"); + height: 8px; + width: 8px; +} + +QAbstractSpinBox::up-arrow:hover { + image: url(":/qss_icons/dark/rc/arrow_up.png"); +} + +QAbstractSpinBox:down-button { + background-color: transparent #19232D; + subcontrol-origin: border; + subcontrol-position: bottom right; + border-left: 1px solid #455364; + border-top: 1px solid #455364; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + margin: 1px; + width: 12px; + margin-top: -1px; +} + +QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { + image: url(":/qss_icons/dark/rc/arrow_down_disabled.png"); + height: 8px; + width: 8px; +} + +QAbstractSpinBox::down-arrow:hover { + image: url(":/qss_icons/dark/rc/arrow_down.png"); +} + +QAbstractSpinBox:hover { + border: 1px solid #346792; + color: #DFE1E2; +} + +QAbstractSpinBox:focus { + border: 1px solid #1A72BB; +} + +QAbstractSpinBox:selected { + background: #346792; + color: #455364; +} + +/* ------------------------------------------------------------------------ */ +/* DISPLAYS --------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QLabel ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe + +--------------------------------------------------------------------------- */ +QLabel { + background-color: #19232D; + border: 0px solid #455364; + padding: 2px; + margin: 0px; + color: #DFE1E2; +} + +QLabel:disabled { + background-color: #19232D; + border: 0px solid #455364; + color: #788D9C; +} + +/* QTextBrowser ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea + +--------------------------------------------------------------------------- */ +QTextBrowser { + background-color: #19232D; + border: 1px solid #455364; + color: #DFE1E2; + border-radius: 4px; +} + +QTextBrowser:disabled { + background-color: #19232D; + border: 1px solid #455364; + color: #788D9C; + border-radius: 4px; +} + +QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { + border: 1px solid #455364; +} + +/* QGraphicsView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QGraphicsView { + background-color: #19232D; + border: 1px solid #455364; + color: #DFE1E2; + border-radius: 4px; +} + +QGraphicsView:disabled { + background-color: #19232D; + border: 1px solid #455364; + color: #788D9C; + border-radius: 4px; +} + +QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { + border: 1px solid #455364; +} + +/* QCalendarWidget -------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCalendarWidget { + border: 1px solid #455364; + border-radius: 4px; +} + +QCalendarWidget:disabled { + background-color: #19232D; + color: #788D9C; +} + +/* QLCDNumber ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QLCDNumber { + background-color: #19232D; + color: #DFE1E2; +} + +QLCDNumber:disabled { + background-color: #19232D; + color: #788D9C; +} + +/* QProgressBar ----------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar + +--------------------------------------------------------------------------- */ +QProgressBar { + background-color: #19232D; + border: 1px solid #455364; + color: #DFE1E2; + border-radius: 4px; + text-align: center; +} + +QProgressBar:disabled { + background-color: #19232D; + border: 1px solid #455364; + color: #788D9C; + border-radius: 4px; + text-align: center; +} + +QProgressBar::chunk { + background-color: #346792; + color: #19232D; + border-radius: 4px; +} + +QProgressBar::chunk:disabled { + background-color: #26486B; + color: #788D9C; + border-radius: 4px; +} + +/* ------------------------------------------------------------------------ */ +/* BUTTONS ---------------------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QPushButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton + +--------------------------------------------------------------------------- */ +QPushButton { + background-color: #455364; + color: #DFE1E2; + border-radius: 4px; + padding: 2px; + outline: none; + border: none; +} + +QPushButton:disabled { + background-color: #455364; + color: #788D9C; + border-radius: 4px; + padding: 2px; +} + +QPushButton:checked { + background-color: #60798B; + border-radius: 4px; + padding: 2px; + outline: none; +} + +QPushButton:checked:disabled { + background-color: #60798B; + color: #788D9C; + border-radius: 4px; + padding: 2px; + outline: none; +} + +QPushButton:checked:selected { + background: #60798B; +} + +QPushButton:hover { + background-color: #54687A; + color: #DFE1E2; +} + +QPushButton:pressed { + background-color: #60798B; +} + +QPushButton:selected { + background: #60798B; + color: #DFE1E2; +} + +QPushButton::menu-indicator { + subcontrol-origin: padding; + subcontrol-position: bottom right; + bottom: 4px; +} + +QDialogButtonBox QPushButton { + /* Issue #194 #248 - Special case of QPushButton inside dialogs, for better UI */ + min-width: 80px; +} + +/* QToolButton ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton + +--------------------------------------------------------------------------- */ +QToolButton { + background-color: #455364; + color: #DFE1E2; + border-radius: 4px; + padding: 2px; + outline: none; + border: none; + /* The subcontrols below are used only in the DelayedPopup mode */ + /* The subcontrols below are used only in the MenuButtonPopup mode */ + /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ +} + +QToolButton:disabled { + background-color: #455364; + color: #788D9C; + border-radius: 4px; + padding: 2px; +} + +QToolButton:checked { + background-color: #60798B; + border-radius: 4px; + padding: 2px; + outline: none; +} + +QToolButton:checked:disabled { + background-color: #60798B; + color: #788D9C; + border-radius: 4px; + padding: 2px; + outline: none; +} + +QToolButton:checked:hover { + background-color: #54687A; + color: #DFE1E2; +} + +QToolButton:checked:pressed { + background-color: #60798B; +} + +QToolButton:checked:selected { + background: #60798B; + color: #DFE1E2; +} + +QToolButton:hover { + background-color: #54687A; + color: #DFE1E2; +} + +QToolButton:pressed { + background-color: #60798B; +} + +QToolButton:selected { + background: #60798B; + color: #DFE1E2; +} + +QToolButton[popupMode="0"] { + /* Only for DelayedPopup */ + padding-right: 2px; +} + +QToolButton[popupMode="1"] { + /* Only for MenuButtonPopup */ + padding-right: 20px; +} + +QToolButton[popupMode="1"]::menu-button { + border: none; +} + +QToolButton[popupMode="1"]::menu-button:hover { + border: none; + border-left: 1px solid #455364; + border-radius: 0; +} + +QToolButton[popupMode="2"] { + /* Only for InstantPopup */ + padding-right: 2px; +} + +QToolButton::menu-button { + padding: 2px; + border-radius: 4px; + width: 12px; + border: none; + outline: none; +} + +QToolButton::menu-button:hover { + border: 1px solid #346792; +} + +QToolButton::menu-button:checked:hover { + border: 1px solid #346792; +} + +QToolButton::menu-indicator { + image: url(":/qss_icons/dark/rc/arrow_down.png"); + height: 8px; + width: 8px; + top: 0; + /* Exclude a shift for better image */ + left: -2px; + /* Shift it a bit */ +} + +QToolButton::menu-arrow { + image: url(":/qss_icons/dark/rc/arrow_down.png"); + height: 8px; + width: 8px; +} + +QToolButton::menu-arrow:hover { + image: url(":/qss_icons/dark/rc/arrow_down_focus.png"); +} + +/* QCommandLinkButton ----------------------------------------------------- + +--------------------------------------------------------------------------- */ +QCommandLinkButton { + background-color: transparent; + border: 1px solid #455364; + color: #DFE1E2; + border-radius: 4px; + padding: 0px; + margin: 0px; +} + +QCommandLinkButton:disabled { + background-color: transparent; + color: #788D9C; +} + +/* ------------------------------------------------------------------------ */ +/* INPUTS - NO FIELDS ----------------------------------------------------- */ +/* ------------------------------------------------------------------------ */ +/* QComboBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox + +--------------------------------------------------------------------------- */ +QComboBox { + border: 1px solid #455364; + border-radius: 4px; + selection-background-color: #346792; + padding-left: 4px; + padding-right: 4px; + /* padding-right = 36; 4 + 16*2 See scrollbar size */ + /* changed to 4px to fix #239 */ + /* Fixes #103, #111 */ + min-height: 1.5em; + /* padding-top: 2px; removed to fix #132 */ + /* padding-bottom: 2px; removed to fix #132 */ + /* min-width: 75px; removed to fix #109 */ + /* Needed to remove indicator - fix #132 */ +} + +QComboBox QAbstractItemView { + border: 1px solid #455364; + border-radius: 0; + background-color: #19232D; + selection-background-color: #346792; +} + +QComboBox QAbstractItemView:hover { + background-color: #19232D; + color: #DFE1E2; +} + +QComboBox QAbstractItemView:selected { + background: #346792; + color: #455364; +} + +QComboBox QAbstractItemView:alternate { + background: #19232D; +} + +QComboBox:disabled { + background-color: #19232D; + color: #788D9C; +} + +QComboBox:hover { + border: 1px solid #346792; +} + +QComboBox:focus { + border: 1px solid #1A72BB; +} + +QComboBox:on { + selection-background-color: #346792; +} + +QComboBox::indicator { + border: none; + border-radius: 0; + background-color: transparent; + selection-background-color: transparent; + color: transparent; + selection-color: transparent; + /* Needed to remove indicator - fix #132 */ +} + +QComboBox::indicator:alternate { + background: #19232D; +} + +QComboBox::item { + /* Remove to fix #282, #285 and MR #288*/ + /*&:checked { + font-weight: bold; + } + + &:selected { + border: 0px solid transparent; + } + */ +} + +QComboBox::item:alternate { + background: #19232D; +} + +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #455364; +} + +QComboBox::down-arrow { + image: url(":/qss_icons/dark/rc/arrow_down_disabled.png"); + height: 8px; + width: 8px; +} + +QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { + image: url(":/qss_icons/dark/rc/arrow_down.png"); +} + +/* QSlider ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider + +--------------------------------------------------------------------------- */ +QSlider:disabled { + background: #19232D; +} + +QSlider:focus { + border: none; +} + +QSlider::groove:horizontal { + background: #455364; + border: 1px solid #455364; + height: 4px; + margin: 0px; + border-radius: 4px; +} + +QSlider::groove:vertical { + background: #455364; + border: 1px solid #455364; + width: 4px; + margin: 0px; + border-radius: 4px; +} + +QSlider::add-page:vertical { + background: #346792; + border: 1px solid #455364; + width: 4px; + margin: 0px; + border-radius: 4px; +} + +QSlider::add-page:vertical :disabled { + background: #26486B; +} + +QSlider::sub-page:horizontal { + background: #346792; + border: 1px solid #455364; + height: 4px; + margin: 0px; + border-radius: 4px; +} + +QSlider::sub-page:horizontal:disabled { + background: #26486B; +} + +QSlider::handle:horizontal { + background: #9DA9B5; + border: 1px solid #455364; + width: 8px; + height: 8px; + margin: -8px 0px; + border-radius: 4px; +} + +QSlider::handle:horizontal:hover { + background: #346792; + border: 1px solid #346792; +} + +QSlider::handle:horizontal:focus { + border: 1px solid #1A72BB; +} + +QSlider::handle:vertical { + background: #9DA9B5; + border: 1px solid #455364; + width: 8px; + height: 8px; + margin: 0 -8px; + border-radius: 4px; +} + +QSlider::handle:vertical:hover { + background: #346792; + border: 1px solid #346792; +} + +QSlider::handle:vertical:focus { + border: 1px solid #1A72BB; +} + +/* QLineEdit -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit + +--------------------------------------------------------------------------- */ +QLineEdit { + background-color: #19232D; + padding-top: 2px; + /* This QLineEdit fix 103, 111 */ + padding-bottom: 2px; + /* This QLineEdit fix 103, 111 */ + padding-left: 4px; + padding-right: 4px; + border-style: solid; + border: 1px solid #455364; + border-radius: 4px; + color: #DFE1E2; +} + +QLineEdit:disabled { + background-color: #19232D; + color: #788D9C; +} + +QLineEdit:hover { + border: 1px solid #346792; + color: #DFE1E2; +} + +QLineEdit:focus { + border: 1px solid #1A72BB; +} + +QLineEdit:selected { + background-color: #346792; + color: #455364; +} + +/* QTabWiget -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabWidget { + padding: 2px; + selection-background-color: #455364; +} + +QTabWidget QWidget { + /* Fixes #189 */ + border-radius: 4px; +} + +QTabWidget::pane { + border: 1px solid #455364; + border-radius: 4px; + margin: 0px; + /* Fixes double border inside pane with pyqt5 */ + padding: 0px; +} + +QTabWidget::pane:selected { + background-color: #455364; + border: 1px solid #346792; +} + +/* QTabBar ---------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar + +--------------------------------------------------------------------------- */ +QTabBar, QDockWidget QTabBar { + qproperty-drawBase: 0; + border-radius: 4px; + margin: 0px; + padding: 2px; + border: 0; + /* left: 5px; move to the right by 5px - removed for fix */ +} + +QTabBar::close-button, QDockWidget QTabBar::close-button { + border: 0; + margin: 0; + padding: 4px; + image: url(":/qss_icons/dark/rc/window_close.png"); +} + +QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { + image: url(":/qss_icons/dark/rc/window_close_focus.png"); +} + +QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { + image: url(":/qss_icons/dark/rc/window_close_pressed.png"); +} + +QTabBar::tab, QDockWidget QTabBar::tab { + /* !selected and disabled ----------------------------------------- */ + /* selected ------------------------------------------------------- */ +} + +QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { + border-bottom: 3px solid #26486B; + color: #788D9C; + background-color: #455364; +} + +QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { + border-top: 3px solid #26486B; + color: #788D9C; + background-color: #455364; +} + +QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { + border-right: 3px solid #26486B; + color: #788D9C; + background-color: #455364; +} + +QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { + border-left: 3px solid #26486B; + color: #788D9C; + background-color: #455364; +} + +QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { + border-bottom: 3px solid #19232D; + color: #788D9C; + background-color: #19232D; +} + +QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { + border-top: 3px solid #19232D; + color: #788D9C; + background-color: #19232D; +} + +QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { + border-right: 3px solid #19232D; + color: #788D9C; + background-color: #19232D; +} + +QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { + border-left: 3px solid #19232D; + color: #788D9C; + background-color: #19232D; +} + +QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { + border-bottom: 2px solid #19232D; + margin-top: 2px; +} + +QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { + border-top: 2px solid #19232D; + margin-bottom: 2px; +} + +QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { + border-left: 2px solid #19232D; + margin-right: 2px; +} + +QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { + border-right: 2px solid #19232D; + margin-left: 2px; +} + +QTabBar::tab:top, QDockWidget QTabBar::tab:top { + background-color: #455364; + margin-left: 2px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + min-width: 5px; + border-bottom: 3px solid #455364; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { + background-color: #54687A; + border-bottom: 3px solid #259AE9; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { + border: 1px solid #1A72BB; + border-bottom: 3px solid #1A72BB; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; +} + +QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { + border-top: 3px solid #455364; + background-color: #455364; + margin-left: 2px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + padding-bottom: 2px; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + min-width: 5px; +} + +QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { + background-color: #54687A; + border-top: 3px solid #259AE9; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { + border: 1px solid #1A72BB; + border-top: 3px solid #1A72BB; + /* Fixes spyder-ide/spyder#9766 and #243 */ + padding-left: 3px; + padding-right: 3px; +} + +QTabBar::tab:left, QDockWidget QTabBar::tab:left { + background-color: #455364; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { + background-color: #54687A; + border-right: 3px solid #259AE9; +} + +QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { + border: 1px solid #1A72BB; + border-right: 3px solid #1A72BB; + /* Fixes different behavior #271 */ + margin-right: 0px; + padding-right: -1px; +} + +QTabBar::tab:right, QDockWidget QTabBar::tab:right { + background-color: #455364; + margin-top: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 4px; + padding-bottom: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + min-height: 5px; +} + +QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { + background-color: #54687A; + border-left: 3px solid #259AE9; +} + +QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { + border: 1px solid #1A72BB; + border-left: 3px solid #1A72BB; + /* Fixes different behavior #271 */ + margin-left: 0px; + padding-left: 0px; +} + +QTabBar QToolButton, QDockWidget QTabBar QToolButton { + /* Fixes #136 */ + background-color: #455364; + height: 12px; + width: 12px; +} + +QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { + background-color: #455364; +} + +QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { + border: 1px solid #346792; +} + +QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { + image: url(":/qss_icons/dark/rc/arrow_left.png"); +} + +QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { + image: url(":/qss_icons/dark/rc/arrow_left_disabled.png"); +} + +QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { + image: url(":/qss_icons/dark/rc/arrow_right.png"); +} + +QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { + image: url(":/qss_icons/dark/rc/arrow_right_disabled.png"); +} + +/* QDockWiget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QDockWidget { + outline: 1px solid #455364; + background-color: #19232D; + border: 1px solid #455364; + border-radius: 4px; + titlebar-close-icon: url(":/qss_icons/dark/rc/transparent.png"); + titlebar-normal-icon: url(":/qss_icons/dark/rc/transparent.png"); +} + +QDockWidget::title { + /* Better size for title bar */ + padding: 3px; + spacing: 4px; + border: none; + background-color: #455364; +} + +QDockWidget::close-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(":/qss_icons/dark/rc/window_close.png"); +} + +QDockWidget::close-button:hover { + image: url(":/qss_icons/dark/rc/window_close_focus.png"); +} + +QDockWidget::close-button:pressed { + image: url(":/qss_icons/dark/rc/window_close_pressed.png"); +} + +QDockWidget::float-button { + icon-size: 12px; + border: none; + background: transparent; + background-image: transparent; + border: 0; + margin: 0; + padding: 0; + image: url(":/qss_icons/dark/rc/window_undock.png"); +} + +QDockWidget::float-button:hover { + image: url(":/qss_icons/dark/rc/window_undock_focus.png"); +} + +QDockWidget::float-button:pressed { + image: url(":/qss_icons/dark/rc/window_undock_pressed.png"); +} + +/* QTreeView QListView QTableView ----------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview + +--------------------------------------------------------------------------- */ +QTreeView:branch:selected, QTreeView:branch:hover { + background: url(":/qss_icons/dark/rc/transparent.png"); +} + +QTreeView:branch:has-siblings:!adjoins-item { + border-image: url(":/qss_icons/dark/rc/branch_line.png") 0; +} + +QTreeView:branch:has-siblings:adjoins-item { + border-image: url(":/qss_icons/dark/rc/branch_more.png") 0; +} + +QTreeView:branch:!has-children:!has-siblings:adjoins-item { + border-image: url(":/qss_icons/dark/rc/branch_end.png") 0; +} + +QTreeView:branch:has-children:!has-siblings:closed, QTreeView:branch:closed:has-children:has-siblings { + border-image: none; + image: url(":/qss_icons/dark/rc/branch_closed.png"); +} + +QTreeView:branch:open:has-children:!has-siblings, QTreeView:branch:open:has-children:has-siblings { + border-image: none; + image: url(":/qss_icons/dark/rc/branch_open.png"); +} + +QTreeView:branch:has-children:!has-siblings:closed:hover, QTreeView:branch:closed:has-children:has-siblings:hover { + image: url(":/qss_icons/dark/rc/branch_closed_focus.png"); +} + +QTreeView:branch:open:has-children:!has-siblings:hover, QTreeView:branch:open:has-children:has-siblings:hover { + image: url(":/qss_icons/dark/rc/branch_open_focus.png"); +} + +QTreeView::indicator:checked, +QListView::indicator:checked, +QTableView::indicator:checked, +QColumnView::indicator:checked { + image: url(":/qss_icons/dark/rc/checkbox_checked.png"); +} + +QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, +QListView::indicator:checked:hover, +QListView::indicator:checked:focus, +QListView::indicator:checked:pressed, +QTableView::indicator:checked:hover, +QTableView::indicator:checked:focus, +QTableView::indicator:checked:pressed, +QColumnView::indicator:checked:hover, +QColumnView::indicator:checked:focus, +QColumnView::indicator:checked:pressed { + image: url(":/qss_icons/dark/rc/checkbox_checked_focus.png"); +} + +QTreeView::indicator:unchecked, +QListView::indicator:unchecked, +QTableView::indicator:unchecked, +QColumnView::indicator:unchecked { + image: url(":/qss_icons/dark/rc/checkbox_unchecked.png"); +} + +QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, +QListView::indicator:unchecked:hover, +QListView::indicator:unchecked:focus, +QListView::indicator:unchecked:pressed, +QTableView::indicator:unchecked:hover, +QTableView::indicator:unchecked:focus, +QTableView::indicator:unchecked:pressed, +QColumnView::indicator:unchecked:hover, +QColumnView::indicator:unchecked:focus, +QColumnView::indicator:unchecked:pressed { + image: url(":/qss_icons/dark/rc/checkbox_unchecked_focus.png"); +} + +QTreeView::indicator:indeterminate, +QListView::indicator:indeterminate, +QTableView::indicator:indeterminate, +QColumnView::indicator:indeterminate { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate.png"); +} + +QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, +QListView::indicator:indeterminate:hover, +QListView::indicator:indeterminate:focus, +QListView::indicator:indeterminate:pressed, +QTableView::indicator:indeterminate:hover, +QTableView::indicator:indeterminate:focus, +QTableView::indicator:indeterminate:pressed, +QColumnView::indicator:indeterminate:hover, +QColumnView::indicator:indeterminate:focus, +QColumnView::indicator:indeterminate:pressed { + image: url(":/qss_icons/dark/rc/checkbox_indeterminate_focus.png"); +} + +QTreeView, +QListView, +QTableView, +QColumnView { + background-color: #19232D; + border: 1px solid #455364; + color: #DFE1E2; + gridline-color: #455364; + border-radius: 4px; +} + +QTreeView:disabled, +QListView:disabled, +QTableView:disabled, +QColumnView:disabled { + background-color: #19232D; + color: #788D9C; +} + +QTreeView:selected, +QListView:selected, +QTableView:selected, +QColumnView:selected { + background-color: #346792; + color: #455364; +} + +QTreeView:focus, +QListView:focus, +QTableView:focus, +QColumnView:focus { + border: 1px solid #1A72BB; +} + +QTreeView::item:pressed, +QListView::item:pressed, +QTableView::item:pressed, +QColumnView::item:pressed { + background-color: #346792; +} + +QTreeView::item:selected:active, +QListView::item:selected:active, +QTableView::item:selected:active, +QColumnView::item:selected:active { + background-color: #346792; +} + +QTreeView::item:selected:!active, +QListView::item:selected:!active, +QTableView::item:selected:!active, +QColumnView::item:selected:!active { + color: #DFE1E2; + background-color: #37414F; +} + +QTreeView::item:!selected:hover, +QListView::item:!selected:hover, +QTableView::item:!selected:hover, +QColumnView::item:!selected:hover { + outline: 0; + color: #DFE1E2; + background-color: #37414F; +} + +QTableCornerButton::section { + background-color: #19232D; + border: 1px transparent #455364; + border-radius: 0px; +} + +/* QHeaderView ------------------------------------------------------------ + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview + +--------------------------------------------------------------------------- */ +QHeaderView { + background-color: #455364; + border: 0px transparent #455364; + padding: 0; + margin: 0; + border-radius: 0; +} + +QHeaderView:disabled { + background-color: #455364; + border: 1px transparent #455364; +} + +QHeaderView::section { + background-color: #455364; + color: #DFE1E2; + border-radius: 0; + text-align: left; + font-size: 13px; +} + +QHeaderView::section::horizontal { + padding-top: 0; + padding-bottom: 0; + padding-left: 4px; + padding-right: 4px; + border-left: 1px solid #19232D; +} + +QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { + border-left: 1px solid #455364; +} + +QHeaderView::section::horizontal:disabled { + color: #788D9C; +} + +QHeaderView::section::vertical { + padding-top: 0; + padding-bottom: 0; + padding-left: 4px; + padding-right: 4px; + border-top: 1px solid #19232D; +} + +QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { + border-top: 1px solid #455364; +} + +QHeaderView::section::vertical:disabled { + color: #788D9C; +} + +QHeaderView::down-arrow { + /* Those settings (border/width/height/background-color) solve bug */ + /* transparent arrow background and size */ + background-color: #455364; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(":/qss_icons/dark/rc/arrow_down.png"); +} + +QHeaderView::up-arrow { + background-color: #455364; + border: none; + height: 12px; + width: 12px; + padding-left: 2px; + padding-right: 2px; + image: url(":/qss_icons/dark/rc/arrow_up.png"); +} + +/* QToolBox -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox + +--------------------------------------------------------------------------- */ +QToolBox { + padding: 0px; + border: 0px; + border: 1px solid #455364; +} + +QToolBox:selected { + padding: 0px; + border: 2px solid #346792; +} + +QToolBox::tab { + background-color: #19232D; + border: 1px solid #455364; + color: #DFE1E2; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +QToolBox::tab:disabled { + color: #788D9C; +} + +QToolBox::tab:selected { + background-color: #60798B; + border-bottom: 2px solid #346792; +} + +QToolBox::tab:selected:disabled { + background-color: #455364; + border-bottom: 2px solid #26486B; +} + +QToolBox::tab:!selected { + background-color: #455364; + border-bottom: 2px solid #455364; +} + +QToolBox::tab:!selected:disabled { + background-color: #19232D; +} + +QToolBox::tab:hover { + border-color: #1A72BB; + border-bottom: 2px solid #1A72BB; +} + +QToolBox QScrollArea { + padding: 0px; + border: 0px; + background-color: #19232D; +} + +/* QFrame ----------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe +https://doc.qt.io/qt-5/qframe.html#-prop +https://doc.qt.io/qt-5/qframe.html#details +https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color + +--------------------------------------------------------------------------- */ +/* (dot) .QFrame fix #141, #126, #123 */ +.QFrame { + border-radius: 4px; + border: 1px solid #455364; + /* No frame */ + /* HLine */ + /* HLine */ +} + +.QFrame[frameShape="0"] { + border-radius: 4px; + border: 1px transparent #455364; +} + +.QFrame[frameShape="4"] { + max-height: 2px; + border: none; + background-color: #455364; +} + +.QFrame[frameShape="5"] { + max-width: 2px; + border: none; + background-color: #455364; +} + +/* QSplitter -------------------------------------------------------------- + +https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter + +--------------------------------------------------------------------------- */ +QSplitter { + background-color: #455364; + spacing: 0px; + padding: 0px; + margin: 0px; +} + +QSplitter::handle { + background-color: #455364; + border: 0px solid #19232D; + spacing: 0px; + padding: 1px; + margin: 0px; +} + +QSplitter::handle:hover { + background-color: #9DA9B5; +} + +QSplitter::handle:horizontal { + width: 5px; + image: url(":/qss_icons/dark/rc/line_vertical.png"); +} + +QSplitter::handle:vertical { + height: 5px; + image: url(":/qss_icons/dark/rc/line_horizontal.png"); +} + +/* QDateEdit, QDateTimeEdit ----------------------------------------------- + +--------------------------------------------------------------------------- */ +QDateEdit, QDateTimeEdit { + selection-background-color: #346792; + border-style: solid; + border: 1px solid #455364; + border-radius: 4px; + /* This fixes 103, 111 */ + padding-top: 2px; + /* This fixes 103, 111 */ + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + min-width: 10px; +} + +QDateEdit:on, QDateTimeEdit:on { + selection-background-color: #346792; +} + +QDateEdit::drop-down, QDateTimeEdit::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 12px; + border-left: 1px solid #455364; +} + +QDateEdit::down-arrow, QDateTimeEdit::down-arrow { + image: url(":/qss_icons/dark/rc/arrow_down_disabled.png"); + height: 8px; + width: 8px; +} + +QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { + image: url(":/qss_icons/dark/rc/arrow_down.png"); +} + +QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { + background-color: #19232D; + border-radius: 4px; + border: 1px solid #455364; + selection-background-color: #346792; +} + +/* QAbstractView ---------------------------------------------------------- + +--------------------------------------------------------------------------- */ +QAbstractView:hover { + border: 1px solid #346792; + color: #DFE1E2; +} + +QAbstractView:selected { + background: #346792; + color: #455364; +} + +/* PlotWidget ------------------------------------------------------------- + +--------------------------------------------------------------------------- */ +PlotWidget { + /* Fix cut labels in plots #134 */ + padding: 0px; +} + + + + + + + + + 参数 + + + + + + ENT_mix_left_data + + + + + + + + + + delay_data1 + + + + + + + + + + + + + ENT_mx_right_data + + + + + + + + + + ENC_volume_data1 + + + + + + + + + + + + 发送 + + + + + + + 获取 + + + + + + + + + + + 滤波器-2 + + + + + + + + + + Freq + + + Qt::AlignmentFlag::AlignCenter + + + + + + + + + Qt::Orientation::Horizontal + + + + 13 + 20 + + + + + + + + Qt::Orientation::Vertical + + + + + + + Qt::Orientation::Horizontal + + + + 18 + 20 + + + + + + + + + + + + + + Q + + + Qt::AlignmentFlag::AlignCenter + + + + + + + + + Qt::Orientation::Horizontal + + + + 13 + 20 + + + + + + + + Qt::Orientation::Vertical + + + + + + + Qt::Orientation::Horizontal + + + + 18 + 20 + + + + + + + + + + + + + + Gain + + + Qt::AlignmentFlag::AlignCenter + + + + + + + + + Qt::Orientation::Horizontal + + + + 13 + 20 + + + + + + + + Qt::Orientation::Vertical + + + + + + + Qt::Orientation::Horizontal + + + + 18 + 20 + + + + + + + + + + + + + + Slope + + + Qt::AlignmentFlag::AlignCenter + + + + + + + + + Qt::Orientation::Horizontal + + + + 13 + 20 + + + + + + + + Qt::Orientation::Vertical + + + + + + + Qt::Orientation::Horizontal + + + + 18 + 20 + + + + + + + + + + + + + + + + QTableWidget {border: none} + + + 0 + + + Qt::ScrollBarPolicy::ScrollBarAsNeeded + + + Qt::ScrollBarPolicy::ScrollBarAsNeeded + + + QAbstractScrollArea::SizeAdjustPolicy::AdjustToContents + + + true + + + Qt::PenStyle::DotLine + + + 6 + + + true + + + 18 + + + 67 + + + false + + + false + + + false + + + false + + + 17 + + + 30 + + + false + + + + 新建行 + + + + + 新建行 + + + + + 新建行 + + + + + + + + 滤波器 + + + AlignLeading|AlignVCenter + + + + + Freq + + + AlignLeading|AlignVCenter + + + + + Q + + + AlignJustify|AlignVCenter + + + + + Gain + + + AlignJustify|AlignVCenter + + + + + Slop + + + AlignJustify|AlignVCenter + + + + + PEAK_1 + + + Checked + + + + + 1111 + + + + + 11 + + + + + 1.1 + + + + + 6 + + + + + LOWPASS_1 + + + Checked + + + + + 1112 + + + + + 32 + + + + + 2.3 + + + + + 24 + + + + + HIGHPASS_1 + + + Checked + + + + + ALLPASS_1 + + + Checked + + + + + LOWSHELF_1 + + + Checked + + + + + HIGHSHELF_1 + + + Checked + + + + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + 添加 + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + 删除 + + + + + + + Qt::Orientation::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + diff --git a/widgets/Ui_widget.py b/widgets/Ui_widget.py new file mode 100644 index 0000000..0b158f6 --- /dev/null +++ b/widgets/Ui_widget.py @@ -0,0 +1,2695 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'widget.ui' +## +## Created by: Qt User Interface Compiler version 6.8.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 (QAbstractScrollArea, QApplication, QGridLayout, QGroupBox, + QHBoxLayout, QHeaderView, QLabel, QLineEdit, + QPushButton, QSizePolicy, QSlider, QSpacerItem, + QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget) + +class Ui_Widget(object): + def setupUi(self, Widget): + if not Widget.objectName(): + Widget.setObjectName(u"Widget") + Widget.resize(691, 408) + Widget.setStyleSheet(u"/* ---------------------------------------------------------------------------\n" +"\n" +" WARNING! File created programmatically. All changes made in this file will be lost!\n" +"\n" +" Created by the qtsass compiler v0.4.0\n" +"\n" +" The definitions are in the \"qdarkstyle.qss._styles.scss\" module\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"/* Light Style - QDarkStyleSheet ------------------------------------------ */\n" +"/*\n" +"\n" +"See Qt documentation:\n" +"\n" +" - https://doc.qt.io/qt-5/stylesheet.html\n" +" - https://doc.qt.io/qt-5/stylesheet-reference.html\n" +" - https://doc.qt.io/qt-5/stylesheet-examples.html\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"/* Reset elements ------------------------------------------------------------\n" +"\n" +"Resetting everything helps to unify styles across different operating systems\n" +"\n" +"--------------------------------------------------------------------------- */" + "\n" +"* {\n" +" padding: 0px;\n" +" margin: 0px;\n" +" border: 0px;\n" +" border-style: none;\n" +" border-image: none;\n" +" outline: 0;\n" +"}\n" +"\n" +"/* specific reset for elements inside QToolBar */\n" +"QToolBar * {\n" +" margin: 0px;\n" +" padding: 0px;\n" +"}\n" +"\n" +"/* QWidget ----------------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QWidget {\n" +" background-color: #19232D;\n" +" border: 0px solid #455364;\n" +" padding: 0px;\n" +" color: #DFE1E2;\n" +" selection-background-color: #346792;\n" +" selection-color: #DFE1E2;\n" +"}\n" +"\n" +"QWidget:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +" selection-background-color: #26486B;\n" +" selection-color: #788D9C;\n" +"}\n" +"\n" +"QWidget::item:selected {\n" +" background-color: #346792;\n" +"}\n" +"\n" +"QWidget::item:hover:!selected {\n" +" background-color: #1A72BB;\n" +"}\n" +"\n" +"/* QMainWindow --------------------------------------------" + "----------------\n" +"\n" +"This adjusts the splitter in the dock widget, not qsplitter\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QMainWindow::separator {\n" +" background-color: #455364;\n" +" border: 0px solid #19232D;\n" +" spacing: 0px;\n" +" padding: 2px;\n" +"}\n" +"\n" +"QMainWindow::separator:hover {\n" +" background-color: #60798B;\n" +" border: 0px solid #1A72BB;\n" +"}\n" +"\n" +"QMainWindow::separator:horizontal {\n" +" width: 5px;\n" +" margin-top: 2px;\n" +" margin-bottom: 2px;\n" +" image: url(\":/qss_icons/dark/rc/toolbar_separator_vertical.png\");\n" +"}\n" +"\n" +"QMainWindow::separator:vertical {\n" +" height: 5px;\n" +" margin-left: 2px;\n" +" margin-right: 2px;\n" +" image: url(\":/qss_icons/dark/rc/toolbar_separator_horizontal.png\");\n" +"}\n" +"\n" +"/* QToolTip ---------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples." + "html#customizing-qtooltip\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QToolTip {\n" +" background-color: #346792;\n" +" color: #DFE1E2;\n" +" /* If you remove the border property, background stops working on Windows */\n" +" border: none;\n" +" /* Remove padding, for fix combo box tooltip */\n" +" padding: 0px;\n" +" /* Remove opacity, fix #174 - may need to use RGBA */\n" +"}\n" +"\n" +"/* QStatusBar -------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QStatusBar {\n" +" border: 1px solid #455364;\n" +" /* Fixes Spyder #9120, #9121 */\n" +" background: #455364;\n" +" /* Fixes #205, white vertical borders separating items */\n" +"}\n" +"\n" +"QStatusBar::item {\n" +" border: none;\n" +"}\n" +"\n" +"QStatusBar QToolTip {\n" +" background-color: #1A72BB;\n" +" border: 1px solid #19232D;\n" +" col" + "or: #19232D;\n" +" /* Remove padding, for fix combo box tooltip */\n" +" padding: 0px;\n" +" /* Reducing transparency to read better */\n" +" opacity: 230;\n" +"}\n" +"\n" +"QStatusBar QLabel {\n" +" /* Fixes Spyder #9120, #9121 */\n" +" background: transparent;\n" +"}\n" +"\n" +"/* QCheckBox --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QCheckBox {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +" spacing: 4px;\n" +" outline: none;\n" +" padding-top: 4px;\n" +" padding-bottom: 4px;\n" +"}\n" +"\n" +"QCheckBox:focus {\n" +" border: none;\n" +"}\n" +"\n" +"QCheckBox QWidget:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QCheckBox::indicator {\n" +" margin-left: 2px;\n" +" height: 14px;\n" +" width: 14px;\n" +"}\n" +"\n" +"QCheckBox::indicator:unchecked {\n" +" image: url(\":/qss_icons/dark/rc/chec" + "kbox_unchecked.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_focus.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:unchecked:disabled {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_disabled.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:checked {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:focus, QCheckBox::indicator:checked:pressed {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked_focus.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:checked:disabled {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked_disabled.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:indeterminate {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_indeterminate.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:indeterminate:disabled {\n" +" ima" + "ge: url(\":/qss_icons/dark/rc/checkbox_indeterminate_disabled.png\");\n" +"}\n" +"\n" +"QCheckBox::indicator:indeterminate:focus, QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_indeterminate_focus.png\");\n" +"}\n" +"\n" +"/* QGroupBox --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QGroupBox {\n" +" font-weight: bold;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" margin-top: 6px;\n" +" margin-bottom: 4px;\n" +"}\n" +"\n" +"QGroupBox::title {\n" +" subcontrol-origin: margin;\n" +" subcontrol-position: top left;\n" +" left: 4px;\n" +" padding-left: 2px;\n" +" padding-right: 4px;\n" +" padding-top: -4px;\n" +"}\n" +"\n" +"QGroupBox::indicator {\n" +" margin-left: 2px;\n" +" margin-top: 2px;\n" +" padding: 0;\n" +" he" + "ight: 14px;\n" +" width: 14px;\n" +"}\n" +"\n" +"QGroupBox::indicator:unchecked {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked.png\");\n" +"}\n" +"\n" +"QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_focus.png\");\n" +"}\n" +"\n" +"QGroupBox::indicator:unchecked:disabled {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_disabled.png\");\n" +"}\n" +"\n" +"QGroupBox::indicator:checked {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked.png\");\n" +"}\n" +"\n" +"QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked_focus.png\");\n" +"}\n" +"\n" +"QGroupBox::indicator:checked:disabled {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked_disabled.png\");\n" +"}\n" +"\n" +"/* QRadioButton" + " -----------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QRadioButton {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +" spacing: 4px;\n" +" padding-top: 4px;\n" +" padding-bottom: 4px;\n" +" border: none;\n" +" outline: none;\n" +"}\n" +"\n" +"QRadioButton:focus {\n" +" border: none;\n" +"}\n" +"\n" +"QRadioButton:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +" border: none;\n" +" outline: none;\n" +"}\n" +"\n" +"QRadioButton QWidget {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +" spacing: 0px;\n" +" padding: 0px;\n" +" outline: none;\n" +" border: none;\n" +"}\n" +"\n" +"QRadioButton::indicator {\n" +" border: none;\n" +" outline: none;\n" +" margin-left: 2px;\n" +" height: 14px;\n" +" width: 14px;\n" +"}\n" +"\n" +"QRadioButton::indicator:unchecked {\n" +" image: url(\":/qss_icons/dark/rc/radio_un" + "checked.png\");\n" +"}\n" +"\n" +"QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:focus, QRadioButton::indicator:unchecked:pressed {\n" +" border: none;\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_unchecked_focus.png\");\n" +"}\n" +"\n" +"QRadioButton::indicator:unchecked:disabled {\n" +" image: url(\":/qss_icons/dark/rc/radio_unchecked_disabled.png\");\n" +"}\n" +"\n" +"QRadioButton::indicator:checked {\n" +" border: none;\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_checked.png\");\n" +"}\n" +"\n" +"QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:focus, QRadioButton::indicator:checked:pressed {\n" +" border: none;\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_checked_focus.png\");\n" +"}\n" +"\n" +"QRadioButton::indicator:checked:disabled {\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_checked_disabled.png\");\n" +"}\n" +"\n" +"/* QMenuBar --------------------------------------------------------" + "-------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QMenuBar {\n" +" background-color: #455364;\n" +" padding: 2px;\n" +" border: 1px solid #19232D;\n" +" color: #DFE1E2;\n" +" selection-background-color: #1A72BB;\n" +"}\n" +"\n" +"QMenuBar:focus {\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"QMenuBar::item {\n" +" background: transparent;\n" +" padding: 4px;\n" +"}\n" +"\n" +"QMenuBar::item:selected {\n" +" padding: 4px;\n" +" background: transparent;\n" +" border: 0px solid #455364;\n" +" background-color: #1A72BB;\n" +"}\n" +"\n" +"QMenuBar::item:pressed {\n" +" padding: 4px;\n" +" border: 0px solid #455364;\n" +" background-color: #1A72BB;\n" +" color: #DFE1E2;\n" +" margin-bottom: 0px;\n" +" padding-bottom: 0px;\n" +"}\n" +"\n" +"/* QMenu ------------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu\n" +"\n" +"---" + "------------------------------------------------------------------------ */\n" +"QMenu {\n" +" border: 0px solid #455364;\n" +" color: #DFE1E2;\n" +" margin: 0px;\n" +" background-color: #37414F;\n" +" selection-background-color: #1A72BB;\n" +"}\n" +"\n" +"QMenu::separator {\n" +" height: 1px;\n" +" background-color: #60798B;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QMenu::item {\n" +" background-color: #37414F;\n" +" padding: 4px 24px 4px 28px;\n" +" /* Reserve space for selection border */\n" +" border: 1px transparent #455364;\n" +"}\n" +"\n" +"QMenu::item:selected {\n" +" color: #DFE1E2;\n" +" background-color: #1A72BB;\n" +"}\n" +"\n" +"QMenu::item:pressed {\n" +" background-color: #1A72BB;\n" +"}\n" +"\n" +"QMenu::icon {\n" +" padding-left: 10px;\n" +" width: 14px;\n" +" height: 14px;\n" +"}\n" +"\n" +"QMenu::indicator {\n" +" padding-left: 8px;\n" +" width: 12px;\n" +" height: 12px;\n" +" /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */\n" +" /* exclusive indicator = radio button s" + "tyle indicator (see QActionGroup::setExclusive) */\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:unchecked {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_focus.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:unchecked:disabled {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_disabled.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:checked {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed {\n" +" border: none;\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked_focus.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:checked:disabled {\n" +" image: url(\":/qs" + "s_icons/dark/rc/checkbox_checked_disabled.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:indeterminate {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_indeterminate.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:indeterminate:disabled {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_indeterminate_disabled.png\");\n" +"}\n" +"\n" +"QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_indeterminate_focus.png\");\n" +"}\n" +"\n" +"QMenu::indicator:exclusive:unchecked {\n" +" image: url(\":/qss_icons/dark/rc/radio_unchecked.png\");\n" +"}\n" +"\n" +"QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed {\n" +" border: none;\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_unchecked_focus.png\");\n" +"}\n" +"\n" +"QMenu::indicator:exclusive:unchecked:disabled {\n" +"" + " image: url(\":/qss_icons/dark/rc/radio_unchecked_disabled.png\");\n" +"}\n" +"\n" +"QMenu::indicator:exclusive:checked {\n" +" border: none;\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_checked.png\");\n" +"}\n" +"\n" +"QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed {\n" +" border: none;\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_checked_focus.png\");\n" +"}\n" +"\n" +"QMenu::indicator:exclusive:checked:disabled {\n" +" outline: none;\n" +" image: url(\":/qss_icons/dark/rc/radio_checked_disabled.png\");\n" +"}\n" +"\n" +"QMenu::right-arrow {\n" +" margin: 5px;\n" +" padding-left: 12px;\n" +" image: url(\":/qss_icons/dark/rc/arrow_right.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +"}\n" +"\n" +"/* QAbstractItemView ------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox\n" +"\n" +"-----------------------------------------" + "---------------------------------- */\n" +"QAbstractItemView {\n" +" alternate-background-color: #19232D;\n" +" color: #DFE1E2;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QAbstractItemView QLineEdit {\n" +" padding: 2px;\n" +"}\n" +"\n" +"/* QAbstractScrollArea ----------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QAbstractScrollArea {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" /* fix #159 */\n" +" padding: 2px;\n" +" /* remove min-height to fix #244 */\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QAbstractScrollArea:disabled {\n" +" color: #788D9C;\n" +"}\n" +"\n" +"/* QScrollArea ------------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QScrollArea QWidget QWidget:disa" + "bled {\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"/* QScrollBar -------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QScrollBar:horizontal {\n" +" height: 16px;\n" +" margin: 2px 16px 2px 16px;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"QScrollBar:vertical {\n" +" background-color: #19232D;\n" +" width: 16px;\n" +" margin: 16px 2px 16px 2px;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QScrollBar::handle:horizontal {\n" +" background-color: #60798B;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" min-width: 8px;\n" +"}\n" +"\n" +"QScrollBar::handle:horizontal:hover {\n" +" background-color: #346792;\n" +" border: #346792;\n" +" border-radius: 4px;\n" +" min-width: 8px;\n" +"}\n" +"\n" +"QScrollBar::handle:horizontal:focus {\n" +"" + " border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QScrollBar::handle:vertical {\n" +" background-color: #60798B;\n" +" border: 1px solid #455364;\n" +" min-height: 8px;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QScrollBar::handle:vertical:hover {\n" +" background-color: #346792;\n" +" border: #346792;\n" +" border-radius: 4px;\n" +" min-height: 8px;\n" +"}\n" +"\n" +"QScrollBar::handle:vertical:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QScrollBar::add-line:horizontal {\n" +" margin: 0px 0px 0px 0px;\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_right_disabled.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: right;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on {\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_right.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: right;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::add-line:vertical {\n" +" margin: 3px 0px 3px" + " 0px;\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_down_disabled.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: bottom;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on {\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: bottom;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::sub-line:horizontal {\n" +" margin: 0px 3px 0px 3px;\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_left_disabled.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: left;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on {\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_left.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: left;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::sub-line:vertical {\n" +" margin" + ": 3px 0px 3px 0px;\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_up_disabled.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: top;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on {\n" +" border-image: url(\":/qss_icons/dark/rc/arrow_up.png\");\n" +" height: 12px;\n" +" width: 12px;\n" +" subcontrol-position: top;\n" +" subcontrol-origin: margin;\n" +"}\n" +"\n" +"QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal {\n" +" background: none;\n" +"}\n" +"\n" +"QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {\n" +" background: none;\n" +"}\n" +"\n" +"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {\n" +" background: none;\n" +"}\n" +"\n" +"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {\n" +" background: none;\n" +"}\n" +"\n" +"/* QTextEdit --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customiz" + "ing-specific-widgets\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QTextEdit {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +" border: 1px solid #455364;\n" +"}\n" +"\n" +"QTextEdit:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QTextEdit:selected {\n" +" background: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"/* QPlainTextEdit ---------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QPlainTextEdit {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +" border: 1px solid #455364;\n" +"}\n" +"\n" +"QPlainTextEdit:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QPlainTextEdit:selected {\n" +" background: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"/* QSizeGrip --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-" + "qsizegrip\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QSizeGrip {\n" +" background: transparent;\n" +" width: 12px;\n" +" height: 12px;\n" +" image: url(\":/qss_icons/dark/rc/window_grip.png\");\n" +"}\n" +"\n" +"/* QStackedWidget ---------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QStackedWidget {\n" +" padding: 2px;\n" +" border: 1px solid #455364;\n" +" border: 1px solid #19232D;\n" +"}\n" +"\n" +"/* QToolBar ---------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QToolBar {\n" +" background-color: #455364;\n" +" border-bottom: 1px solid #19232D;\n" +" padding: 1px;\n" +" font-weight: bold;\n" +" spacing: 2px;\n" +"}\n" +"\n" +"QToolBar:disabled {\n" +" /* Fixes #272 */\n" +" background-color: #455" + "364;\n" +"}\n" +"\n" +"QToolBar::handle:horizontal {\n" +" width: 16px;\n" +" image: url(\":/qss_icons/dark/rc/toolbar_move_horizontal.png\");\n" +"}\n" +"\n" +"QToolBar::handle:vertical {\n" +" height: 16px;\n" +" image: url(\":/qss_icons/dark/rc/toolbar_move_vertical.png\");\n" +"}\n" +"\n" +"QToolBar::separator:horizontal {\n" +" width: 16px;\n" +" image: url(\":/qss_icons/dark/rc/toolbar_separator_horizontal.png\");\n" +"}\n" +"\n" +"QToolBar::separator:vertical {\n" +" height: 16px;\n" +" image: url(\":/qss_icons/dark/rc/toolbar_separator_vertical.png\");\n" +"}\n" +"\n" +"QToolButton#qt_toolbar_ext_button {\n" +" background: #455364;\n" +" border: 0px;\n" +" color: #DFE1E2;\n" +" image: url(\":/qss_icons/dark/rc/arrow_right.png\");\n" +"}\n" +"\n" +"/* QAbstractSpinBox -------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QAbstractSpinBox {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +"" + " /* This fixes 103, 111 */\n" +" padding-top: 2px;\n" +" /* This fixes 103, 111 */\n" +" padding-bottom: 2px;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" border-radius: 4px;\n" +" /* min-width: 5px; removed to fix 109 */\n" +"}\n" +"\n" +"QAbstractSpinBox:up-button {\n" +" background-color: transparent #19232D;\n" +" subcontrol-origin: border;\n" +" subcontrol-position: top right;\n" +" border-left: 1px solid #455364;\n" +" border-bottom: 1px solid #455364;\n" +" border-top-left-radius: 0;\n" +" border-bottom-left-radius: 0;\n" +" margin: 1px;\n" +" width: 12px;\n" +" margin-bottom: -1px;\n" +"}\n" +"\n" +"QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off {\n" +" image: url(\":/qss_icons/dark/rc/arrow_up_disabled.png\");\n" +" height: 8px;\n" +" width: 8px;\n" +"}\n" +"\n" +"QAbstractSpinBox::up-arrow:hover {\n" +" image: url(\":/qss_icons/dark/rc/arrow_up.png\");\n" +"}\n" +"\n" +"QAbstractSpinBox:down-button {\n" +" background-color: transparent #19232D;\n" +" " + "subcontrol-origin: border;\n" +" subcontrol-position: bottom right;\n" +" border-left: 1px solid #455364;\n" +" border-top: 1px solid #455364;\n" +" border-top-left-radius: 0;\n" +" border-bottom-left-radius: 0;\n" +" margin: 1px;\n" +" width: 12px;\n" +" margin-top: -1px;\n" +"}\n" +"\n" +"QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down_disabled.png\");\n" +" height: 8px;\n" +" width: 8px;\n" +"}\n" +"\n" +"QAbstractSpinBox::down-arrow:hover {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +"}\n" +"\n" +"QAbstractSpinBox:hover {\n" +" border: 1px solid #346792;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QAbstractSpinBox:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QAbstractSpinBox:selected {\n" +" background: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"/* ------------------------------------------------------------------------ */\n" +"/* DISPLAYS ------------------------------------------------" + "--------------- */\n" +"/* ------------------------------------------------------------------------ */\n" +"/* QLabel -----------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QLabel {\n" +" background-color: #19232D;\n" +" border: 0px solid #455364;\n" +" padding: 2px;\n" +" margin: 0px;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QLabel:disabled {\n" +" background-color: #19232D;\n" +" border: 0px solid #455364;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"/* QTextBrowser -----------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QTextBrowser {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QT" + "extBrowser:disabled {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed {\n" +" border: 1px solid #455364;\n" +"}\n" +"\n" +"/* QGraphicsView ----------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QGraphicsView {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QGraphicsView:disabled {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed {\n" +" border: 1px solid #455364;\n" +"}\n" +"\n" +"/* QCalendarWidget --------------------------------------------------------\n" +"\n" +"------------------------------------------------" + "--------------------------- */\n" +"QCalendarWidget {\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QCalendarWidget:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"/* QLCDNumber -------------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QLCDNumber {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QLCDNumber:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"/* QProgressBar -----------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QProgressBar {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +" text-align: center;\n" +"}\n" +"\n" +"QProgressBar:disabled {\n" +" backgrou" + "nd-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +" text-align: center;\n" +"}\n" +"\n" +"QProgressBar::chunk {\n" +" background-color: #346792;\n" +" color: #19232D;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QProgressBar::chunk:disabled {\n" +" background-color: #26486B;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"/* ------------------------------------------------------------------------ */\n" +"/* BUTTONS ---------------------------------------------------------------- */\n" +"/* ------------------------------------------------------------------------ */\n" +"/* QPushButton ------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QPushButton {\n" +" background-color: #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" outline: none;\n" +" " + " border: none;\n" +"}\n" +"\n" +"QPushButton:disabled {\n" +" background-color: #455364;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +"}\n" +"\n" +"QPushButton:checked {\n" +" background-color: #60798B;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" outline: none;\n" +"}\n" +"\n" +"QPushButton:checked:disabled {\n" +" background-color: #60798B;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" outline: none;\n" +"}\n" +"\n" +"QPushButton:checked:selected {\n" +" background: #60798B;\n" +"}\n" +"\n" +"QPushButton:hover {\n" +" background-color: #54687A;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QPushButton:pressed {\n" +" background-color: #60798B;\n" +"}\n" +"\n" +"QPushButton:selected {\n" +" background: #60798B;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QPushButton::menu-indicator {\n" +" subcontrol-origin: padding;\n" +" subcontrol-position: bottom right;\n" +" bottom: 4px;\n" +"}\n" +"\n" +"QDialogButtonBox QPushButton {\n" +" /* Issue #194 #248 - Special case of QPushButton inside" + " dialogs, for better UI */\n" +" min-width: 80px;\n" +"}\n" +"\n" +"/* QToolButton ------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QToolButton {\n" +" background-color: #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" outline: none;\n" +" border: none;\n" +" /* The subcontrols below are used only in the DelayedPopup mode */\n" +" /* The subcontrols below are used only in the MenuButtonPopup mode */\n" +" /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */\n" +"}\n" +"\n" +"QToolButton:disabled {\n" +" background-color: #455364;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +"}\n" +"\n" +"QToolButton:checked {\n" +" background-color: #60798B;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" outline: none;\n" +"}\n" +"\n" +"QToolButton:checked:disabled" + " {\n" +" background-color: #60798B;\n" +" color: #788D9C;\n" +" border-radius: 4px;\n" +" padding: 2px;\n" +" outline: none;\n" +"}\n" +"\n" +"QToolButton:checked:hover {\n" +" background-color: #54687A;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QToolButton:checked:pressed {\n" +" background-color: #60798B;\n" +"}\n" +"\n" +"QToolButton:checked:selected {\n" +" background: #60798B;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QToolButton:hover {\n" +" background-color: #54687A;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QToolButton:pressed {\n" +" background-color: #60798B;\n" +"}\n" +"\n" +"QToolButton:selected {\n" +" background: #60798B;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QToolButton[popupMode=\"0\"] {\n" +" /* Only for DelayedPopup */\n" +" padding-right: 2px;\n" +"}\n" +"\n" +"QToolButton[popupMode=\"1\"] {\n" +" /* Only for MenuButtonPopup */\n" +" padding-right: 20px;\n" +"}\n" +"\n" +"QToolButton[popupMode=\"1\"]::menu-button {\n" +" border: none;\n" +"}\n" +"\n" +"QToolButton[popupMode=\"1\"]::menu-button:hover {\n" +" border: none;\n" +"" + " border-left: 1px solid #455364;\n" +" border-radius: 0;\n" +"}\n" +"\n" +"QToolButton[popupMode=\"2\"] {\n" +" /* Only for InstantPopup */\n" +" padding-right: 2px;\n" +"}\n" +"\n" +"QToolButton::menu-button {\n" +" padding: 2px;\n" +" border-radius: 4px;\n" +" width: 12px;\n" +" border: none;\n" +" outline: none;\n" +"}\n" +"\n" +"QToolButton::menu-button:hover {\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"QToolButton::menu-button:checked:hover {\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"QToolButton::menu-indicator {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +" height: 8px;\n" +" width: 8px;\n" +" top: 0;\n" +" /* Exclude a shift for better image */\n" +" left: -2px;\n" +" /* Shift it a bit */\n" +"}\n" +"\n" +"QToolButton::menu-arrow {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +" height: 8px;\n" +" width: 8px;\n" +"}\n" +"\n" +"QToolButton::menu-arrow:hover {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down_focus.png\");\n" +"}\n" +"\n" +"/* QCommandLinkButton ---------------" + "--------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QCommandLinkButton {\n" +" background-color: transparent;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 4px;\n" +" padding: 0px;\n" +" margin: 0px;\n" +"}\n" +"\n" +"QCommandLinkButton:disabled {\n" +" background-color: transparent;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"/* ------------------------------------------------------------------------ */\n" +"/* INPUTS - NO FIELDS ----------------------------------------------------- */\n" +"/* ------------------------------------------------------------------------ */\n" +"/* QComboBox --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QComboBox {\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" selection-background-col" + "or: #346792;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" /* padding-right = 36; 4 + 16*2 See scrollbar size */\n" +" /* changed to 4px to fix #239 */\n" +" /* Fixes #103, #111 */\n" +" min-height: 1.5em;\n" +" /* padding-top: 2px; removed to fix #132 */\n" +" /* padding-bottom: 2px; removed to fix #132 */\n" +" /* min-width: 75px; removed to fix #109 */\n" +" /* Needed to remove indicator - fix #132 */\n" +"}\n" +"\n" +"QComboBox QAbstractItemView {\n" +" border: 1px solid #455364;\n" +" border-radius: 0;\n" +" background-color: #19232D;\n" +" selection-background-color: #346792;\n" +"}\n" +"\n" +"QComboBox QAbstractItemView:hover {\n" +" background-color: #19232D;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QComboBox QAbstractItemView:selected {\n" +" background: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"QComboBox QAbstractItemView:alternate {\n" +" background: #19232D;\n" +"}\n" +"\n" +"QComboBox:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QComboBox:hover {\n" +"" + " border: 1px solid #346792;\n" +"}\n" +"\n" +"QComboBox:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QComboBox:on {\n" +" selection-background-color: #346792;\n" +"}\n" +"\n" +"QComboBox::indicator {\n" +" border: none;\n" +" border-radius: 0;\n" +" background-color: transparent;\n" +" selection-background-color: transparent;\n" +" color: transparent;\n" +" selection-color: transparent;\n" +" /* Needed to remove indicator - fix #132 */\n" +"}\n" +"\n" +"QComboBox::indicator:alternate {\n" +" background: #19232D;\n" +"}\n" +"\n" +"QComboBox::item {\n" +" /* Remove to fix #282, #285 and MR #288*/\n" +" /*&:checked {\n" +" font-weight: bold;\n" +" }\n" +"\n" +" &:selected {\n" +" border: 0px solid transparent;\n" +" }\n" +" */\n" +"}\n" +"\n" +"QComboBox::item:alternate {\n" +" background: #19232D;\n" +"}\n" +"\n" +"QComboBox::drop-down {\n" +" subcontrol-origin: padding;\n" +" subcontrol-position: top right;\n" +" width: 12px;\n" +" border-left: 1px solid #455364;\n" +"}\n" +"\n" +"" + "QComboBox::down-arrow {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down_disabled.png\");\n" +" height: 8px;\n" +" width: 8px;\n" +"}\n" +"\n" +"QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +"}\n" +"\n" +"/* QSlider ----------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QSlider:disabled {\n" +" background: #19232D;\n" +"}\n" +"\n" +"QSlider:focus {\n" +" border: none;\n" +"}\n" +"\n" +"QSlider::groove:horizontal {\n" +" background: #455364;\n" +" border: 1px solid #455364;\n" +" height: 4px;\n" +" margin: 0px;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QSlider::groove:vertical {\n" +" background: #455364;\n" +" border: 1px solid #455364;\n" +" width: 4px;\n" +" margin: 0px;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QSlider::add-page:vertical {\n" +" " + " background: #346792;\n" +" border: 1px solid #455364;\n" +" width: 4px;\n" +" margin: 0px;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QSlider::add-page:vertical :disabled {\n" +" background: #26486B;\n" +"}\n" +"\n" +"QSlider::sub-page:horizontal {\n" +" background: #346792;\n" +" border: 1px solid #455364;\n" +" height: 4px;\n" +" margin: 0px;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QSlider::sub-page:horizontal:disabled {\n" +" background: #26486B;\n" +"}\n" +"\n" +"QSlider::handle:horizontal {\n" +" background: #9DA9B5;\n" +" border: 1px solid #455364;\n" +" width: 8px;\n" +" height: 8px;\n" +" margin: -8px 0px;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QSlider::handle:horizontal:hover {\n" +" background: #346792;\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"QSlider::handle:horizontal:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QSlider::handle:vertical {\n" +" background: #9DA9B5;\n" +" border: 1px solid #455364;\n" +" width: 8px;\n" +" height: 8px;\n" +" margin: 0 -8px;\n" +" border-radius: 4px;\n" +"" + "}\n" +"\n" +"QSlider::handle:vertical:hover {\n" +" background: #346792;\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"QSlider::handle:vertical:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"/* QLineEdit --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QLineEdit {\n" +" background-color: #19232D;\n" +" padding-top: 2px;\n" +" /* This QLineEdit fix 103, 111 */\n" +" padding-bottom: 2px;\n" +" /* This QLineEdit fix 103, 111 */\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" border-style: solid;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QLineEdit:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QLineEdit:hover {\n" +" border: 1px solid #346792;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QLineEdit:focus {\n" +" border: 1px solid #1A72" + "BB;\n" +"}\n" +"\n" +"QLineEdit:selected {\n" +" background-color: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"/* QTabWiget --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QTabWidget {\n" +" padding: 2px;\n" +" selection-background-color: #455364;\n" +"}\n" +"\n" +"QTabWidget QWidget {\n" +" /* Fixes #189 */\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QTabWidget::pane {\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" margin: 0px;\n" +" /* Fixes double border inside pane with pyqt5 */\n" +" padding: 0px;\n" +"}\n" +"\n" +"QTabWidget::pane:selected {\n" +" background-color: #455364;\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"/* QTabBar ----------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar\n" +"\n" +"------" + "--------------------------------------------------------------------- */\n" +"QTabBar, QDockWidget QTabBar {\n" +" qproperty-drawBase: 0;\n" +" border-radius: 4px;\n" +" margin: 0px;\n" +" padding: 2px;\n" +" border: 0;\n" +" /* left: 5px; move to the right by 5px - removed for fix */\n" +"}\n" +"\n" +"QTabBar::close-button, QDockWidget QTabBar::close-button {\n" +" border: 0;\n" +" margin: 0;\n" +" padding: 4px;\n" +" image: url(\":/qss_icons/dark/rc/window_close.png\");\n" +"}\n" +"\n" +"QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover {\n" +" image: url(\":/qss_icons/dark/rc/window_close_focus.png\");\n" +"}\n" +"\n" +"QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed {\n" +" image: url(\":/qss_icons/dark/rc/window_close_pressed.png\");\n" +"}\n" +"\n" +"QTabBar::tab, QDockWidget QTabBar::tab {\n" +" /* !selected and disabled ----------------------------------------- */\n" +" /* selected ------------------------------------------------------- */\n" +"}\n" +"\n" +"QTabBar::tab:top:" + "selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled {\n" +" border-bottom: 3px solid #26486B;\n" +" color: #788D9C;\n" +" background-color: #455364;\n" +"}\n" +"\n" +"QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled {\n" +" border-top: 3px solid #26486B;\n" +" color: #788D9C;\n" +" background-color: #455364;\n" +"}\n" +"\n" +"QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled {\n" +" border-right: 3px solid #26486B;\n" +" color: #788D9C;\n" +" background-color: #455364;\n" +"}\n" +"\n" +"QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled {\n" +" border-left: 3px solid #26486B;\n" +" color: #788D9C;\n" +" background-color: #455364;\n" +"}\n" +"\n" +"QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled {\n" +" border-bottom: 3px solid #19232D;\n" +" color: #788D9C;\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar" + "::tab:bottom:!selected:disabled {\n" +" border-top: 3px solid #19232D;\n" +" color: #788D9C;\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled {\n" +" border-right: 3px solid #19232D;\n" +" color: #788D9C;\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled {\n" +" border-left: 3px solid #19232D;\n" +" color: #788D9C;\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected {\n" +" border-bottom: 2px solid #19232D;\n" +" margin-top: 2px;\n" +"}\n" +"\n" +"QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected {\n" +" border-top: 2px solid #19232D;\n" +" margin-bottom: 2px;\n" +"}\n" +"\n" +"QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected {\n" +" border-left: 2px solid #19232D;\n" +" margin-right: 2px;\n" +"}\n" +"\n" +"QTabBar::tab:right:!selected, QDockWid" + "get QTabBar::tab:right:!selected {\n" +" border-right: 2px solid #19232D;\n" +" margin-left: 2px;\n" +"}\n" +"\n" +"QTabBar::tab:top, QDockWidget QTabBar::tab:top {\n" +" background-color: #455364;\n" +" margin-left: 2px;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" padding-top: 2px;\n" +" padding-bottom: 2px;\n" +" min-width: 5px;\n" +" border-bottom: 3px solid #455364;\n" +" border-top-left-radius: 4px;\n" +" border-top-right-radius: 4px;\n" +"}\n" +"\n" +"QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected {\n" +" background-color: #54687A;\n" +" border-bottom: 3px solid #259AE9;\n" +" border-top-left-radius: 4px;\n" +" border-top-right-radius: 4px;\n" +"}\n" +"\n" +"QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover {\n" +" border: 1px solid #1A72BB;\n" +" border-bottom: 3px solid #1A72BB;\n" +" /* Fixes spyder-ide/spyder#9766 and #243 */\n" +" padding-left: 3px;\n" +" padding-right: 3px;\n" +"}\n" +"\n" +"QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom {\n" +" " + " border-top: 3px solid #455364;\n" +" background-color: #455364;\n" +" margin-left: 2px;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" padding-top: 2px;\n" +" padding-bottom: 2px;\n" +" border-bottom-left-radius: 4px;\n" +" border-bottom-right-radius: 4px;\n" +" min-width: 5px;\n" +"}\n" +"\n" +"QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected {\n" +" background-color: #54687A;\n" +" border-top: 3px solid #259AE9;\n" +" border-bottom-left-radius: 4px;\n" +" border-bottom-right-radius: 4px;\n" +"}\n" +"\n" +"QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover {\n" +" border: 1px solid #1A72BB;\n" +" border-top: 3px solid #1A72BB;\n" +" /* Fixes spyder-ide/spyder#9766 and #243 */\n" +" padding-left: 3px;\n" +" padding-right: 3px;\n" +"}\n" +"\n" +"QTabBar::tab:left, QDockWidget QTabBar::tab:left {\n" +" background-color: #455364;\n" +" margin-top: 2px;\n" +" padding-left: 2px;\n" +" padding-right: 2px;\n" +" padding-top: 4px;\n" +" padding-bottom: 4px;\n" +"" + " border-top-left-radius: 4px;\n" +" border-bottom-left-radius: 4px;\n" +" min-height: 5px;\n" +"}\n" +"\n" +"QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected {\n" +" background-color: #54687A;\n" +" border-right: 3px solid #259AE9;\n" +"}\n" +"\n" +"QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover {\n" +" border: 1px solid #1A72BB;\n" +" border-right: 3px solid #1A72BB;\n" +" /* Fixes different behavior #271 */\n" +" margin-right: 0px;\n" +" padding-right: -1px;\n" +"}\n" +"\n" +"QTabBar::tab:right, QDockWidget QTabBar::tab:right {\n" +" background-color: #455364;\n" +" margin-top: 2px;\n" +" padding-left: 2px;\n" +" padding-right: 2px;\n" +" padding-top: 4px;\n" +" padding-bottom: 4px;\n" +" border-top-right-radius: 4px;\n" +" border-bottom-right-radius: 4px;\n" +" min-height: 5px;\n" +"}\n" +"\n" +"QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected {\n" +" background-color: #54687A;\n" +" border-left: 3px solid #259AE9;\n" +"}\n" +"\n" +"QTabBar::tab:righ" + "t:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover {\n" +" border: 1px solid #1A72BB;\n" +" border-left: 3px solid #1A72BB;\n" +" /* Fixes different behavior #271 */\n" +" margin-left: 0px;\n" +" padding-left: 0px;\n" +"}\n" +"\n" +"QTabBar QToolButton, QDockWidget QTabBar QToolButton {\n" +" /* Fixes #136 */\n" +" background-color: #455364;\n" +" height: 12px;\n" +" width: 12px;\n" +"}\n" +"\n" +"QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed {\n" +" background-color: #455364;\n" +"}\n" +"\n" +"QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover {\n" +" border: 1px solid #346792;\n" +"}\n" +"\n" +"QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled {\n" +" image: url(\":/qss_icons/dark/rc/arrow_left.png\");\n" +"}\n" +"\n" +"QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled {\n" +" image: url(\":/qss_icons/dark/rc/arrow_left_disabled.png\");\n" +"}\n" +"\n" +"QTabBar QToolButto" + "n::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled {\n" +" image: url(\":/qss_icons/dark/rc/arrow_right.png\");\n" +"}\n" +"\n" +"QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled {\n" +" image: url(\":/qss_icons/dark/rc/arrow_right_disabled.png\");\n" +"}\n" +"\n" +"/* QDockWiget -------------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QDockWidget {\n" +" outline: 1px solid #455364;\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" titlebar-close-icon: url(\":/qss_icons/dark/rc/transparent.png\");\n" +" titlebar-normal-icon: url(\":/qss_icons/dark/rc/transparent.png\");\n" +"}\n" +"\n" +"QDockWidget::title {\n" +" /* Better size for title bar */\n" +" padding: 3px;\n" +" spacing: 4px;\n" +" border: none;\n" +" background-color: #455364;\n" +"}\n" +"\n" +"QDockWidget::close-button {\n" +" icon-size: 12px;\n" +"" + " border: none;\n" +" background: transparent;\n" +" background-image: transparent;\n" +" border: 0;\n" +" margin: 0;\n" +" padding: 0;\n" +" image: url(\":/qss_icons/dark/rc/window_close.png\");\n" +"}\n" +"\n" +"QDockWidget::close-button:hover {\n" +" image: url(\":/qss_icons/dark/rc/window_close_focus.png\");\n" +"}\n" +"\n" +"QDockWidget::close-button:pressed {\n" +" image: url(\":/qss_icons/dark/rc/window_close_pressed.png\");\n" +"}\n" +"\n" +"QDockWidget::float-button {\n" +" icon-size: 12px;\n" +" border: none;\n" +" background: transparent;\n" +" background-image: transparent;\n" +" border: 0;\n" +" margin: 0;\n" +" padding: 0;\n" +" image: url(\":/qss_icons/dark/rc/window_undock.png\");\n" +"}\n" +"\n" +"QDockWidget::float-button:hover {\n" +" image: url(\":/qss_icons/dark/rc/window_undock_focus.png\");\n" +"}\n" +"\n" +"QDockWidget::float-button:pressed {\n" +" image: url(\":/qss_icons/dark/rc/window_undock_pressed.png\");\n" +"}\n" +"\n" +"/* QTreeView QListView QTableView -----------------------------------------\n" +"" + "\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QTreeView:branch:selected, QTreeView:branch:hover {\n" +" background: url(\":/qss_icons/dark/rc/transparent.png\");\n" +"}\n" +"\n" +"QTreeView:branch:has-siblings:!adjoins-item {\n" +" border-image: url(\":/qss_icons/dark/rc/branch_line.png\") 0;\n" +"}\n" +"\n" +"QTreeView:branch:has-siblings:adjoins-item {\n" +" border-image: url(\":/qss_icons/dark/rc/branch_more.png\") 0;\n" +"}\n" +"\n" +"QTreeView:branch:!has-children:!has-siblings:adjoins-item {\n" +" border-image: url(\":/qss_icons/dark/rc/branch_end.png\") 0;\n" +"}\n" +"\n" +"QTreeView:branch:has-children:!has-siblings:closed, QTreeView:branch:closed:has-children:has-siblings {\n" +" border-image: none;\n" +" image: url(\":/qss_icons/dark/rc/branch_clo" + "sed.png\");\n" +"}\n" +"\n" +"QTreeView:branch:open:has-children:!has-siblings, QTreeView:branch:open:has-children:has-siblings {\n" +" border-image: none;\n" +" image: url(\":/qss_icons/dark/rc/branch_open.png\");\n" +"}\n" +"\n" +"QTreeView:branch:has-children:!has-siblings:closed:hover, QTreeView:branch:closed:has-children:has-siblings:hover {\n" +" image: url(\":/qss_icons/dark/rc/branch_closed_focus.png\");\n" +"}\n" +"\n" +"QTreeView:branch:open:has-children:!has-siblings:hover, QTreeView:branch:open:has-children:has-siblings:hover {\n" +" image: url(\":/qss_icons/dark/rc/branch_open_focus.png\");\n" +"}\n" +"\n" +"QTreeView::indicator:checked,\n" +"QListView::indicator:checked,\n" +"QTableView::indicator:checked,\n" +"QColumnView::indicator:checked {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked.png\");\n" +"}\n" +"\n" +"QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed,\n" +"QListView::indicator:checked:hover,\n" +"QListView::indicator:checked:focus,\n" +"" + "QListView::indicator:checked:pressed,\n" +"QTableView::indicator:checked:hover,\n" +"QTableView::indicator:checked:focus,\n" +"QTableView::indicator:checked:pressed,\n" +"QColumnView::indicator:checked:hover,\n" +"QColumnView::indicator:checked:focus,\n" +"QColumnView::indicator:checked:pressed {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_checked_focus.png\");\n" +"}\n" +"\n" +"QTreeView::indicator:unchecked,\n" +"QListView::indicator:unchecked,\n" +"QTableView::indicator:unchecked,\n" +"QColumnView::indicator:unchecked {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked.png\");\n" +"}\n" +"\n" +"QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed,\n" +"QListView::indicator:unchecked:hover,\n" +"QListView::indicator:unchecked:focus,\n" +"QListView::indicator:unchecked:pressed,\n" +"QTableView::indicator:unchecked:hover,\n" +"QTableView::indicator:unchecked:focus,\n" +"QTableView::indicator:unchecked:pressed,\n" +"QColumnView::indicator:unchecked:hover,\n" +"" + "QColumnView::indicator:unchecked:focus,\n" +"QColumnView::indicator:unchecked:pressed {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_unchecked_focus.png\");\n" +"}\n" +"\n" +"QTreeView::indicator:indeterminate,\n" +"QListView::indicator:indeterminate,\n" +"QTableView::indicator:indeterminate,\n" +"QColumnView::indicator:indeterminate {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_indeterminate.png\");\n" +"}\n" +"\n" +"QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed,\n" +"QListView::indicator:indeterminate:hover,\n" +"QListView::indicator:indeterminate:focus,\n" +"QListView::indicator:indeterminate:pressed,\n" +"QTableView::indicator:indeterminate:hover,\n" +"QTableView::indicator:indeterminate:focus,\n" +"QTableView::indicator:indeterminate:pressed,\n" +"QColumnView::indicator:indeterminate:hover,\n" +"QColumnView::indicator:indeterminate:focus,\n" +"QColumnView::indicator:indeterminate:pressed {\n" +" image: url(\":/qss_icons/dark/rc/checkbox_" + "indeterminate_focus.png\");\n" +"}\n" +"\n" +"QTreeView,\n" +"QListView,\n" +"QTableView,\n" +"QColumnView {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +" gridline-color: #455364;\n" +" border-radius: 4px;\n" +"}\n" +"\n" +"QTreeView:disabled,\n" +"QListView:disabled,\n" +"QTableView:disabled,\n" +"QColumnView:disabled {\n" +" background-color: #19232D;\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QTreeView:selected,\n" +"QListView:selected,\n" +"QTableView:selected,\n" +"QColumnView:selected {\n" +" background-color: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"QTreeView:focus,\n" +"QListView:focus,\n" +"QTableView:focus,\n" +"QColumnView:focus {\n" +" border: 1px solid #1A72BB;\n" +"}\n" +"\n" +"QTreeView::item:pressed,\n" +"QListView::item:pressed,\n" +"QTableView::item:pressed,\n" +"QColumnView::item:pressed {\n" +" background-color: #346792;\n" +"}\n" +"\n" +"QTreeView::item:selected:active,\n" +"QListView::item:selected:active,\n" +"QTableView::item:selected:active,\n" +"QColumnView::item:sele" + "cted:active {\n" +" background-color: #346792;\n" +"}\n" +"\n" +"QTreeView::item:selected:!active,\n" +"QListView::item:selected:!active,\n" +"QTableView::item:selected:!active,\n" +"QColumnView::item:selected:!active {\n" +" color: #DFE1E2;\n" +" background-color: #37414F;\n" +"}\n" +"\n" +"QTreeView::item:!selected:hover,\n" +"QListView::item:!selected:hover,\n" +"QTableView::item:!selected:hover,\n" +"QColumnView::item:!selected:hover {\n" +" outline: 0;\n" +" color: #DFE1E2;\n" +" background-color: #37414F;\n" +"}\n" +"\n" +"QTableCornerButton::section {\n" +" background-color: #19232D;\n" +" border: 1px transparent #455364;\n" +" border-radius: 0px;\n" +"}\n" +"\n" +"/* QHeaderView ------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QHeaderView {\n" +" background-color: #455364;\n" +" border: 0px transparent #455364;\n" +" padding: 0;\n" +" mar" + "gin: 0;\n" +" border-radius: 0;\n" +"}\n" +"\n" +"QHeaderView:disabled {\n" +" background-color: #455364;\n" +" border: 1px transparent #455364;\n" +"}\n" +"\n" +"QHeaderView::section {\n" +" background-color: #455364;\n" +" color: #DFE1E2;\n" +" border-radius: 0;\n" +" text-align: left;\n" +" font-size: 13px;\n" +"}\n" +"\n" +"QHeaderView::section::horizontal {\n" +" padding-top: 0;\n" +" padding-bottom: 0;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" border-left: 1px solid #19232D;\n" +"}\n" +"\n" +"QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one {\n" +" border-left: 1px solid #455364;\n" +"}\n" +"\n" +"QHeaderView::section::horizontal:disabled {\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QHeaderView::section::vertical {\n" +" padding-top: 0;\n" +" padding-bottom: 0;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" border-top: 1px solid #19232D;\n" +"}\n" +"\n" +"QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one {\n" +" border-top: 1px solid #4553" + "64;\n" +"}\n" +"\n" +"QHeaderView::section::vertical:disabled {\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QHeaderView::down-arrow {\n" +" /* Those settings (border/width/height/background-color) solve bug */\n" +" /* transparent arrow background and size */\n" +" background-color: #455364;\n" +" border: none;\n" +" height: 12px;\n" +" width: 12px;\n" +" padding-left: 2px;\n" +" padding-right: 2px;\n" +" image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +"}\n" +"\n" +"QHeaderView::up-arrow {\n" +" background-color: #455364;\n" +" border: none;\n" +" height: 12px;\n" +" width: 12px;\n" +" padding-left: 2px;\n" +" padding-right: 2px;\n" +" image: url(\":/qss_icons/dark/rc/arrow_up.png\");\n" +"}\n" +"\n" +"/* QToolBox --------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QToolBox {\n" +" padding: 0px;\n" +" border: 0px;\n" +" border: 1px solid #4" + "55364;\n" +"}\n" +"\n" +"QToolBox:selected {\n" +" padding: 0px;\n" +" border: 2px solid #346792;\n" +"}\n" +"\n" +"QToolBox::tab {\n" +" background-color: #19232D;\n" +" border: 1px solid #455364;\n" +" color: #DFE1E2;\n" +" border-top-left-radius: 4px;\n" +" border-top-right-radius: 4px;\n" +"}\n" +"\n" +"QToolBox::tab:disabled {\n" +" color: #788D9C;\n" +"}\n" +"\n" +"QToolBox::tab:selected {\n" +" background-color: #60798B;\n" +" border-bottom: 2px solid #346792;\n" +"}\n" +"\n" +"QToolBox::tab:selected:disabled {\n" +" background-color: #455364;\n" +" border-bottom: 2px solid #26486B;\n" +"}\n" +"\n" +"QToolBox::tab:!selected {\n" +" background-color: #455364;\n" +" border-bottom: 2px solid #455364;\n" +"}\n" +"\n" +"QToolBox::tab:!selected:disabled {\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"QToolBox::tab:hover {\n" +" border-color: #1A72BB;\n" +" border-bottom: 2px solid #1A72BB;\n" +"}\n" +"\n" +"QToolBox QScrollArea {\n" +" padding: 0px;\n" +" border: 0px;\n" +" background-color: #19232D;\n" +"}\n" +"\n" +"/* QFrame -----" + "------------------------------------------------------------\n" +"\n" +"https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe\n" +"https://doc.qt.io/qt-5/qframe.html#-prop\n" +"https://doc.qt.io/qt-5/qframe.html#details\n" +"https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"/* (dot) .QFrame fix #141, #126, #123 */\n" +".QFrame {\n" +" border-radius: 4px;\n" +" border: 1px solid #455364;\n" +" /* No frame */\n" +" /* HLine */\n" +" /* HLine */\n" +"}\n" +"\n" +".QFrame[frameShape=\"0\"] {\n" +" border-radius: 4px;\n" +" border: 1px transparent #455364;\n" +"}\n" +"\n" +".QFrame[frameShape=\"4\"] {\n" +" max-height: 2px;\n" +" border: none;\n" +" background-color: #455364;\n" +"}\n" +"\n" +".QFrame[frameShape=\"5\"] {\n" +" max-width: 2px;\n" +" border: none;\n" +" background-color: #455364;\n" +"}\n" +"\n" +"/* QSplitter --------------------------------------------------------------\n" +"\n" +"ht" + "tps://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QSplitter {\n" +" background-color: #455364;\n" +" spacing: 0px;\n" +" padding: 0px;\n" +" margin: 0px;\n" +"}\n" +"\n" +"QSplitter::handle {\n" +" background-color: #455364;\n" +" border: 0px solid #19232D;\n" +" spacing: 0px;\n" +" padding: 1px;\n" +" margin: 0px;\n" +"}\n" +"\n" +"QSplitter::handle:hover {\n" +" background-color: #9DA9B5;\n" +"}\n" +"\n" +"QSplitter::handle:horizontal {\n" +" width: 5px;\n" +" image: url(\":/qss_icons/dark/rc/line_vertical.png\");\n" +"}\n" +"\n" +"QSplitter::handle:vertical {\n" +" height: 5px;\n" +" image: url(\":/qss_icons/dark/rc/line_horizontal.png\");\n" +"}\n" +"\n" +"/* QDateEdit, QDateTimeEdit -----------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QDateEdit, QDateTimeEdit {\n" +" selection-background-color: #346792;\n" +" border-style: sol" + "id;\n" +" border: 1px solid #455364;\n" +" border-radius: 4px;\n" +" /* This fixes 103, 111 */\n" +" padding-top: 2px;\n" +" /* This fixes 103, 111 */\n" +" padding-bottom: 2px;\n" +" padding-left: 4px;\n" +" padding-right: 4px;\n" +" min-width: 10px;\n" +"}\n" +"\n" +"QDateEdit:on, QDateTimeEdit:on {\n" +" selection-background-color: #346792;\n" +"}\n" +"\n" +"QDateEdit::drop-down, QDateTimeEdit::drop-down {\n" +" subcontrol-origin: padding;\n" +" subcontrol-position: top right;\n" +" width: 12px;\n" +" border-left: 1px solid #455364;\n" +"}\n" +"\n" +"QDateEdit::down-arrow, QDateTimeEdit::down-arrow {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down_disabled.png\");\n" +" height: 8px;\n" +" width: 8px;\n" +"}\n" +"\n" +"QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus {\n" +" image: url(\":/qss_icons/dark/rc/arrow_down.png\");\n" +"}\n" +"\n" +"QDateEdit QAbstractItemView, QDateTimeEdit QAbstra" + "ctItemView {\n" +" background-color: #19232D;\n" +" border-radius: 4px;\n" +" border: 1px solid #455364;\n" +" selection-background-color: #346792;\n" +"}\n" +"\n" +"/* QAbstractView ----------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"QAbstractView:hover {\n" +" border: 1px solid #346792;\n" +" color: #DFE1E2;\n" +"}\n" +"\n" +"QAbstractView:selected {\n" +" background: #346792;\n" +" color: #455364;\n" +"}\n" +"\n" +"/* PlotWidget -------------------------------------------------------------\n" +"\n" +"--------------------------------------------------------------------------- */\n" +"PlotWidget {\n" +" /* Fix cut labels in plots #134 */\n" +" padding: 0px;\n" +"}\n" +"") + self.verticalLayout_7 = QVBoxLayout(Widget) + self.verticalLayout_7.setObjectName(u"verticalLayout_7") + self.horizontalLayout_8 = QHBoxLayout() + self.horizontalLayout_8.setObjectName(u"horizontalLayout_8") + self.groupBox_2 = QGroupBox(Widget) + self.groupBox_2.setObjectName(u"groupBox_2") + self.gridLayout = QGridLayout(self.groupBox_2) + self.gridLayout.setObjectName(u"gridLayout") + self.label_9 = QLabel(self.groupBox_2) + self.label_9.setObjectName(u"label_9") + + self.gridLayout.addWidget(self.label_9, 0, 3, 1, 1) + + self.lineEdit_11 = QLineEdit(self.groupBox_2) + self.lineEdit_11.setObjectName(u"lineEdit_11") + + self.gridLayout.addWidget(self.lineEdit_11, 1, 0, 1, 1) + + self.label_10 = QLabel(self.groupBox_2) + self.label_10.setObjectName(u"label_10") + + self.gridLayout.addWidget(self.label_10, 0, 0, 1, 1) + + self.lineEdit_13 = QLineEdit(self.groupBox_2) + self.lineEdit_13.setObjectName(u"lineEdit_13") + + self.gridLayout.addWidget(self.lineEdit_13, 1, 2, 1, 1) + + self.lineEdit_10 = QLineEdit(self.groupBox_2) + self.lineEdit_10.setObjectName(u"lineEdit_10") + + self.gridLayout.addWidget(self.lineEdit_10, 1, 1, 1, 1) + + self.label_11 = QLabel(self.groupBox_2) + self.label_11.setObjectName(u"label_11") + + self.gridLayout.addWidget(self.label_11, 0, 2, 1, 1) + + self.lineEdit_12 = QLineEdit(self.groupBox_2) + self.lineEdit_12.setObjectName(u"lineEdit_12") + + self.gridLayout.addWidget(self.lineEdit_12, 1, 3, 1, 1) + + self.label_12 = QLabel(self.groupBox_2) + self.label_12.setObjectName(u"label_12") + + self.gridLayout.addWidget(self.label_12, 0, 1, 1, 1) + + + self.horizontalLayout_8.addWidget(self.groupBox_2) + + self.verticalLayout_6 = QVBoxLayout() + self.verticalLayout_6.setObjectName(u"verticalLayout_6") + self.pushButton_9 = QPushButton(Widget) + self.pushButton_9.setObjectName(u"pushButton_9") + + self.verticalLayout_6.addWidget(self.pushButton_9) + + self.pushButton_10 = QPushButton(Widget) + self.pushButton_10.setObjectName(u"pushButton_10") + + self.verticalLayout_6.addWidget(self.pushButton_10) + + + self.horizontalLayout_8.addLayout(self.verticalLayout_6) + + self.horizontalLayout_8.setStretch(0, 2) + self.horizontalLayout_8.setStretch(1, 1) + + self.verticalLayout_7.addLayout(self.horizontalLayout_8) + + self.groupBox_4 = QGroupBox(Widget) + self.groupBox_4.setObjectName(u"groupBox_4") + self.horizontalLayout_7 = QHBoxLayout(self.groupBox_4) + self.horizontalLayout_7.setObjectName(u"horizontalLayout_7") + self.horizontalLayout_6 = QHBoxLayout() + self.horizontalLayout_6.setObjectName(u"horizontalLayout_6") + self.verticalLayout = QVBoxLayout() + self.verticalLayout.setObjectName(u"verticalLayout") + self.label = QLabel(self.groupBox_4) + self.label.setObjectName(u"label") + self.label.setAlignment(Qt.AlignmentFlag.AlignCenter) + + self.verticalLayout.addWidget(self.label) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalSpacer = QSpacerItem(13, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + self.verticalSlider = QSlider(self.groupBox_4) + self.verticalSlider.setObjectName(u"verticalSlider") + self.verticalSlider.setOrientation(Qt.Orientation.Vertical) + + self.horizontalLayout.addWidget(self.verticalSlider) + + self.horizontalSpacer_2 = QSpacerItem(18, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer_2) + + + self.verticalLayout.addLayout(self.horizontalLayout) + + + self.horizontalLayout_6.addLayout(self.verticalLayout) + + self.verticalLayout_2 = QVBoxLayout() + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.label_2 = QLabel(self.groupBox_4) + self.label_2.setObjectName(u"label_2") + self.label_2.setAlignment(Qt.AlignmentFlag.AlignCenter) + + self.verticalLayout_2.addWidget(self.label_2) + + self.horizontalLayout_2 = QHBoxLayout() + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalSpacer_3 = QSpacerItem(13, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_2.addItem(self.horizontalSpacer_3) + + self.verticalSlider_2 = QSlider(self.groupBox_4) + self.verticalSlider_2.setObjectName(u"verticalSlider_2") + self.verticalSlider_2.setOrientation(Qt.Orientation.Vertical) + + self.horizontalLayout_2.addWidget(self.verticalSlider_2) + + self.horizontalSpacer_4 = QSpacerItem(18, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_2.addItem(self.horizontalSpacer_4) + + + self.verticalLayout_2.addLayout(self.horizontalLayout_2) + + + self.horizontalLayout_6.addLayout(self.verticalLayout_2) + + self.verticalLayout_3 = QVBoxLayout() + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.label_3 = QLabel(self.groupBox_4) + self.label_3.setObjectName(u"label_3") + self.label_3.setAlignment(Qt.AlignmentFlag.AlignCenter) + + self.verticalLayout_3.addWidget(self.label_3) + + self.horizontalLayout_3 = QHBoxLayout() + self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalSpacer_5 = QSpacerItem(13, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_3.addItem(self.horizontalSpacer_5) + + self.verticalSlider_3 = QSlider(self.groupBox_4) + self.verticalSlider_3.setObjectName(u"verticalSlider_3") + self.verticalSlider_3.setOrientation(Qt.Orientation.Vertical) + + self.horizontalLayout_3.addWidget(self.verticalSlider_3) + + self.horizontalSpacer_6 = QSpacerItem(18, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_3.addItem(self.horizontalSpacer_6) + + + self.verticalLayout_3.addLayout(self.horizontalLayout_3) + + + self.horizontalLayout_6.addLayout(self.verticalLayout_3) + + self.verticalLayout_4 = QVBoxLayout() + self.verticalLayout_4.setObjectName(u"verticalLayout_4") + self.label_4 = QLabel(self.groupBox_4) + self.label_4.setObjectName(u"label_4") + self.label_4.setAlignment(Qt.AlignmentFlag.AlignCenter) + + self.verticalLayout_4.addWidget(self.label_4) + + self.horizontalLayout_4 = QHBoxLayout() + self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") + self.horizontalSpacer_7 = QSpacerItem(13, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_4.addItem(self.horizontalSpacer_7) + + self.verticalSlider_4 = QSlider(self.groupBox_4) + self.verticalSlider_4.setObjectName(u"verticalSlider_4") + self.verticalSlider_4.setOrientation(Qt.Orientation.Vertical) + + self.horizontalLayout_4.addWidget(self.verticalSlider_4) + + self.horizontalSpacer_8 = QSpacerItem(18, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_4.addItem(self.horizontalSpacer_8) + + + self.verticalLayout_4.addLayout(self.horizontalLayout_4) + + + self.horizontalLayout_6.addLayout(self.verticalLayout_4) + + + self.horizontalLayout_7.addLayout(self.horizontalLayout_6) + + self.verticalLayout_5 = QVBoxLayout() + self.verticalLayout_5.setObjectName(u"verticalLayout_5") + self.tableWidget = QTableWidget(self.groupBox_4) + if (self.tableWidget.columnCount() < 5): + self.tableWidget.setColumnCount(5) + __qtablewidgetitem = QTableWidgetItem() + __qtablewidgetitem.setTextAlignment(Qt.AlignLeading|Qt.AlignVCenter); + self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem) + __qtablewidgetitem1 = QTableWidgetItem() + __qtablewidgetitem1.setTextAlignment(Qt.AlignLeading|Qt.AlignVCenter); + self.tableWidget.setHorizontalHeaderItem(1, __qtablewidgetitem1) + __qtablewidgetitem2 = QTableWidgetItem() + __qtablewidgetitem2.setTextAlignment(Qt.AlignJustify|Qt.AlignVCenter); + self.tableWidget.setHorizontalHeaderItem(2, __qtablewidgetitem2) + __qtablewidgetitem3 = QTableWidgetItem() + __qtablewidgetitem3.setTextAlignment(Qt.AlignJustify|Qt.AlignVCenter); + self.tableWidget.setHorizontalHeaderItem(3, __qtablewidgetitem3) + __qtablewidgetitem4 = QTableWidgetItem() + __qtablewidgetitem4.setTextAlignment(Qt.AlignJustify|Qt.AlignVCenter); + self.tableWidget.setHorizontalHeaderItem(4, __qtablewidgetitem4) + if (self.tableWidget.rowCount() < 6): + self.tableWidget.setRowCount(6) + __qtablewidgetitem5 = QTableWidgetItem() + self.tableWidget.setVerticalHeaderItem(0, __qtablewidgetitem5) + __qtablewidgetitem6 = QTableWidgetItem() + self.tableWidget.setVerticalHeaderItem(1, __qtablewidgetitem6) + __qtablewidgetitem7 = QTableWidgetItem() + self.tableWidget.setVerticalHeaderItem(2, __qtablewidgetitem7) + __qtablewidgetitem8 = QTableWidgetItem() + __qtablewidgetitem8.setCheckState(Qt.Checked); + self.tableWidget.setItem(0, 0, __qtablewidgetitem8) + __qtablewidgetitem9 = QTableWidgetItem() + self.tableWidget.setItem(0, 1, __qtablewidgetitem9) + __qtablewidgetitem10 = QTableWidgetItem() + self.tableWidget.setItem(0, 2, __qtablewidgetitem10) + __qtablewidgetitem11 = QTableWidgetItem() + self.tableWidget.setItem(0, 3, __qtablewidgetitem11) + __qtablewidgetitem12 = QTableWidgetItem() + self.tableWidget.setItem(0, 4, __qtablewidgetitem12) + __qtablewidgetitem13 = QTableWidgetItem() + __qtablewidgetitem13.setCheckState(Qt.Checked); + self.tableWidget.setItem(1, 0, __qtablewidgetitem13) + __qtablewidgetitem14 = QTableWidgetItem() + self.tableWidget.setItem(1, 1, __qtablewidgetitem14) + __qtablewidgetitem15 = QTableWidgetItem() + self.tableWidget.setItem(1, 2, __qtablewidgetitem15) + __qtablewidgetitem16 = QTableWidgetItem() + self.tableWidget.setItem(1, 3, __qtablewidgetitem16) + __qtablewidgetitem17 = QTableWidgetItem() + self.tableWidget.setItem(1, 4, __qtablewidgetitem17) + __qtablewidgetitem18 = QTableWidgetItem() + __qtablewidgetitem18.setCheckState(Qt.Checked); + self.tableWidget.setItem(2, 0, __qtablewidgetitem18) + __qtablewidgetitem19 = QTableWidgetItem() + __qtablewidgetitem19.setCheckState(Qt.Checked); + self.tableWidget.setItem(3, 0, __qtablewidgetitem19) + __qtablewidgetitem20 = QTableWidgetItem() + __qtablewidgetitem20.setCheckState(Qt.Checked); + self.tableWidget.setItem(4, 0, __qtablewidgetitem20) + __qtablewidgetitem21 = QTableWidgetItem() + __qtablewidgetitem21.setCheckState(Qt.Checked); + self.tableWidget.setItem(5, 0, __qtablewidgetitem21) + self.tableWidget.setObjectName(u"tableWidget") + self.tableWidget.setStyleSheet(u"QTableWidget {border: none}") + self.tableWidget.setMidLineWidth(0) + self.tableWidget.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded) + self.tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded) + self.tableWidget.setSizeAdjustPolicy(QAbstractScrollArea.SizeAdjustPolicy.AdjustToContents) + self.tableWidget.setAutoScroll(True) + self.tableWidget.setGridStyle(Qt.PenStyle.DotLine) + self.tableWidget.setRowCount(6) + self.tableWidget.horizontalHeader().setVisible(True) + self.tableWidget.horizontalHeader().setMinimumSectionSize(18) + self.tableWidget.horizontalHeader().setDefaultSectionSize(67) + self.tableWidget.horizontalHeader().setHighlightSections(False) + self.tableWidget.horizontalHeader().setProperty(u"showSortIndicator", False) + self.tableWidget.horizontalHeader().setStretchLastSection(False) + self.tableWidget.verticalHeader().setVisible(False) + self.tableWidget.verticalHeader().setMinimumSectionSize(17) + self.tableWidget.verticalHeader().setDefaultSectionSize(30) + self.tableWidget.verticalHeader().setHighlightSections(False) + + self.verticalLayout_5.addWidget(self.tableWidget) + + self.horizontalLayout_5 = QHBoxLayout() + self.horizontalLayout_5.setObjectName(u"horizontalLayout_5") + self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_5.addItem(self.horizontalSpacer_9) + + self.pushButton_7 = QPushButton(self.groupBox_4) + self.pushButton_7.setObjectName(u"pushButton_7") + + self.horizontalLayout_5.addWidget(self.pushButton_7) + + self.horizontalSpacer_10 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_5.addItem(self.horizontalSpacer_10) + + self.pushButton_8 = QPushButton(self.groupBox_4) + self.pushButton_8.setObjectName(u"pushButton_8") + + self.horizontalLayout_5.addWidget(self.pushButton_8) + + self.horizontalSpacer_11 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) + + self.horizontalLayout_5.addItem(self.horizontalSpacer_11) + + + self.verticalLayout_5.addLayout(self.horizontalLayout_5) + + + self.horizontalLayout_7.addLayout(self.verticalLayout_5) + + + self.verticalLayout_7.addWidget(self.groupBox_4) + + + self.retranslateUi(Widget) + + QMetaObject.connectSlotsByName(Widget) + # setupUi + + def retranslateUi(self, Widget): + Widget.setWindowTitle(QCoreApplication.translate("Widget", u"Widget", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("Widget", u"\u53c2\u6570", None)) + self.label_9.setText(QCoreApplication.translate("Widget", u"ENT_mix_left_data", None)) + self.label_10.setText(QCoreApplication.translate("Widget", u"delay_data1", None)) + self.label_11.setText(QCoreApplication.translate("Widget", u"ENT_mx_right_data", None)) + self.label_12.setText(QCoreApplication.translate("Widget", u"ENC_volume_data1", None)) + self.pushButton_9.setText(QCoreApplication.translate("Widget", u"\u53d1\u9001", None)) + self.pushButton_10.setText(QCoreApplication.translate("Widget", u"\u83b7\u53d6", None)) + self.groupBox_4.setTitle(QCoreApplication.translate("Widget", u"\u6ee4\u6ce2\u5668-2", None)) + self.label.setText(QCoreApplication.translate("Widget", u"Freq", None)) + self.label_2.setText(QCoreApplication.translate("Widget", u"Q", None)) + self.label_3.setText(QCoreApplication.translate("Widget", u"Gain", None)) + self.label_4.setText(QCoreApplication.translate("Widget", u"Slope", None)) + ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(0) + ___qtablewidgetitem.setText(QCoreApplication.translate("Widget", u"\u6ee4\u6ce2\u5668", None)); + ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(1) + ___qtablewidgetitem1.setText(QCoreApplication.translate("Widget", u"Freq", None)); + ___qtablewidgetitem2 = self.tableWidget.horizontalHeaderItem(2) + ___qtablewidgetitem2.setText(QCoreApplication.translate("Widget", u"Q", None)); + ___qtablewidgetitem3 = self.tableWidget.horizontalHeaderItem(3) + ___qtablewidgetitem3.setText(QCoreApplication.translate("Widget", u"Gain", None)); + ___qtablewidgetitem4 = self.tableWidget.horizontalHeaderItem(4) + ___qtablewidgetitem4.setText(QCoreApplication.translate("Widget", u"Slop", None)); + ___qtablewidgetitem5 = self.tableWidget.verticalHeaderItem(0) + ___qtablewidgetitem5.setText(QCoreApplication.translate("Widget", u"\u65b0\u5efa\u884c", None)); + ___qtablewidgetitem6 = self.tableWidget.verticalHeaderItem(1) + ___qtablewidgetitem6.setText(QCoreApplication.translate("Widget", u"\u65b0\u5efa\u884c", None)); + ___qtablewidgetitem7 = self.tableWidget.verticalHeaderItem(2) + ___qtablewidgetitem7.setText(QCoreApplication.translate("Widget", u"\u65b0\u5efa\u884c", None)); + + __sortingEnabled = self.tableWidget.isSortingEnabled() + self.tableWidget.setSortingEnabled(False) + ___qtablewidgetitem8 = self.tableWidget.item(0, 0) + ___qtablewidgetitem8.setText(QCoreApplication.translate("Widget", u"PEAK_1", None)); + ___qtablewidgetitem9 = self.tableWidget.item(0, 1) + ___qtablewidgetitem9.setText(QCoreApplication.translate("Widget", u"1111", None)); + ___qtablewidgetitem10 = self.tableWidget.item(0, 2) + ___qtablewidgetitem10.setText(QCoreApplication.translate("Widget", u"11", None)); + ___qtablewidgetitem11 = self.tableWidget.item(0, 3) + ___qtablewidgetitem11.setText(QCoreApplication.translate("Widget", u"1.1", None)); + ___qtablewidgetitem12 = self.tableWidget.item(0, 4) + ___qtablewidgetitem12.setText(QCoreApplication.translate("Widget", u"6", None)); + ___qtablewidgetitem13 = self.tableWidget.item(1, 0) + ___qtablewidgetitem13.setText(QCoreApplication.translate("Widget", u"LOWPASS_1", None)); + ___qtablewidgetitem14 = self.tableWidget.item(1, 1) + ___qtablewidgetitem14.setText(QCoreApplication.translate("Widget", u"1112", None)); + ___qtablewidgetitem15 = self.tableWidget.item(1, 2) + ___qtablewidgetitem15.setText(QCoreApplication.translate("Widget", u"32", None)); + ___qtablewidgetitem16 = self.tableWidget.item(1, 3) + ___qtablewidgetitem16.setText(QCoreApplication.translate("Widget", u"2.3", None)); + ___qtablewidgetitem17 = self.tableWidget.item(1, 4) + ___qtablewidgetitem17.setText(QCoreApplication.translate("Widget", u"24", None)); + ___qtablewidgetitem18 = self.tableWidget.item(2, 0) + ___qtablewidgetitem18.setText(QCoreApplication.translate("Widget", u"HIGHPASS_1", None)); + ___qtablewidgetitem19 = self.tableWidget.item(3, 0) + ___qtablewidgetitem19.setText(QCoreApplication.translate("Widget", u"ALLPASS_1", None)); + ___qtablewidgetitem20 = self.tableWidget.item(4, 0) + ___qtablewidgetitem20.setText(QCoreApplication.translate("Widget", u"LOWSHELF_1", None)); + ___qtablewidgetitem21 = self.tableWidget.item(5, 0) + ___qtablewidgetitem21.setText(QCoreApplication.translate("Widget", u"HIGHSHELF_1", None)); + self.tableWidget.setSortingEnabled(__sortingEnabled) + + self.pushButton_7.setText(QCoreApplication.translate("Widget", u"\u6dfb\u52a0", None)) + self.pushButton_8.setText(QCoreApplication.translate("Widget", u"\u5220\u9664", None)) + # retranslateUi + diff --git a/widgets/__init__.py b/widgets/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/widgets/__pycache__/Ui_widget.cpython-313.pyc b/widgets/__pycache__/Ui_widget.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1e8d17bf146743684da1e668548f62b94a8deaac GIT binary patch literal 85703 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 GKo$V^{2e6# literal 0 HcmV?d00001 diff --git a/widgets/__pycache__/audio_filter_widget.cpython-313.pyc b/widgets/__pycache__/audio_filter_widget.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f1011a05e333ea9fce48276a2c638499e3d0758 GIT binary patch literal 27452 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 literal 0 HcmV?d00001 diff --git a/widgets/__pycache__/avas_widget.cpython-313.pyc b/widgets/__pycache__/avas_widget.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..03be3996f5f2220ae6606f5ad34feb47f12d8d3b GIT binary patch literal 8854 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 bool: + params, filters = self.db_manager.load_config(config_id) + if params is not None: + self.params = params + self.filters = filters + self.current_config_id = config_id + return True + return False + + def save_config(self, name: str) -> int: + return self.db_manager.save_config(name, self.params, self.filters) + + def update_filter(self, index: int, **kwargs): + if 0 <= index < len(self.filters): + filter_data = self.filters[index] + for key, value in kwargs.items(): + setattr(filter_data, key, value) + self.db_manager.update_filter(filter_data.id, **kwargs) + + def update_params(self, **kwargs): + if self.params is None: + self.params = ParamData( + delay_data1=0.0, + ENC_volume_data1=0.0, + ENT_mx_right_data=0.0, + ENT_mix_left_data=0.0 + ) + for key, value in kwargs.items(): + setattr(self.params, key, value) + if self.current_config_id: + self.db_manager.update_params(self.current_config_id, self.params) + +class FilterTypeDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle("选择滤波器类型") + self.setModal(True) + + layout = QVBoxLayout() + + # 添加说明标签 + label = QLabel("请选择要添加的滤波器类型:") + layout.addWidget(label) + + # 创建下拉框 + self.combo = QComboBox() + self.combo.addItems(["PEAK", "LOWPASS", "HIGHPASS", "ALLPASS"]) + layout.addWidget(self.combo) + + # 添加确认按钮 + button = QPushButton("确定") + button.clicked.connect(self.accept) + layout.addWidget(button) + + self.setLayout(layout) + + def get_selected_type(self): + return self.combo.currentText() + +class AudioFilterController: + def __init__(self, model: AudioFilterModel, view): + print("AudioFilterController initialized") + self.model = model + self.view = view + self.setup_connections() + + def setup_connections(self): + print("setup_connections") + # 表格选择变化 + self.view.ui.tableWidget.itemSelectionChanged.connect(self.on_selection_changed) + # 滑块值变化 + self.view.ui.verticalSlider.valueChanged.connect( + lambda v: self.update_filter_param('freq', v) + ) + self.view.ui.verticalSlider_2.valueChanged.connect( + lambda v: self.update_filter_param('q', v) + ) + self.view.ui.verticalSlider_3.valueChanged.connect( + lambda v: self.update_filter_param('gain', v) + ) + self.view.ui.verticalSlider_4.valueChanged.connect( + lambda v: self.update_filter_param('slope', v) + ) + + # 参数输入框变化 + self.view.ui.lineEdit_11.textChanged.connect( + lambda v: self.update_param('delay_data1', float(v)) + ) + # to do: 其他参数输入框连接 + + # 按钮点击 + self.view.ui.pushButton_7.clicked.connect(self.add_filter) + self.view.ui.pushButton_8.clicked.connect(self.delete_filter) + self.view.ui.pushButton_9.clicked.connect(self.send_params) + self.view.ui.pushButton_10.clicked.connect(self.get_params) + + def on_selection_changed(self): + row = self.view.ui.tableWidget.currentRow() + print(f"len model:{len(self.model.filters)}") + if row >= 0 and row < len(self.model.filters): + print(f"on_selection_changed:{row}") + self.model.current_filter_index = row + filter_name = self.model.filters[row].filter_type + self.view.ui.groupBox_4.setTitle(filter_name) + self.view.update_sliders() + + def update_filter_param(self, param: str, value: float): + if self.model.current_filter_index >= 0: + print(f"update_filter_param {self.model.current_filter_index} {value}") + # 更新滤波器参数 + self.model.update_filter(self.model.current_filter_index, **{param: value}) + # 更新表格显示 + self.view.update_table_row(self.model.current_filter_index) + # 如果有当前配置,保存到数据库 + if self.model.current_config_id: + self.model.save_config(f"Config {self.model.current_config_id}") + + def update_param(self, param: str, value: float): + try: + self.model.update_params(**{param: value}) + except ValueError as e: + print(f"Error updating parameter: {e}") + + def get_next_available_number(self, filter_type: str) -> int: + """ + 获取下一个可用的序号,确保序号连续 + """ + # 获取当前所有同类型的滤波器序号 + existing_numbers = set() + for f in self.model.filters: + if f.filter_type.startswith(filter_type + "_"): + try: + number = int(f.filter_type.split("_")[1]) + existing_numbers.add(number) + except (IndexError, ValueError): + continue + + # 从1开始查找第一个可用的序号 + next_number = 1 + while next_number in existing_numbers: + next_number += 1 + + return next_number + + def add_filter(self): + # 检查是否达到最大滤波器数量 + if len(self.model.filters) >= 20: + print("已达到最大滤波器数量限制(20个)") + return + + # 显示滤波器类型选择对话框 + dialog = FilterTypeDialog(self.view) + if dialog.exec(): + filter_type = dialog.get_selected_type() + + # 获取下一个可用的序号 + next_number = self.get_next_available_number(filter_type) + + # 创建新的滤波器名称 + new_filter_type = f"{filter_type}_{next_number}" + + # 创建新的滤波器,使用默认参数 + new_filter = FilterData( + filter_type=new_filter_type, + freq=1000.0, + q=1.0, + gain=0.0, + slope=12.0, + position=len(self.model.filters) + ) + + # 添加到模型中 + self.model.filters.append(new_filter) + + # 如果有当前配置,保存到数据库 + if self.model.current_config_id: + self.model.save_config(f"Config {self.model.current_config_id}") + + # 更新视图 + self.view.update_table() + + def delete_filter(self): + # 获取当前选中的行 + current_row = self.view.ui.tableWidget.currentRow() + + # 检查是否有选中的行 + if current_row < 0 or current_row >= len(self.model.filters): + print("请先选择要删除的滤波器") + return + + # 从模型中删除滤波器 + self.model.filters.pop(current_row) + + # 重置当前选中的滤波器索引 + self.model.current_filter_index = -1 + + # 如果有当前配置,保存到数据库 + if self.model.current_config_id: + self.model.save_config(f"Config {self.model.current_config_id}") + + # 更新视图 + self.view.update_table() + # 清空滤波器组标题 + self.view.ui.groupBox_4.setTitle("") + + def send_params(self): + # 实现发送参数的逻辑 + pass + + def get_params(self): + # 实现获取参数的逻辑 + pass + +class AudioFilterWidget(QWidget): + def __init__(self): + super().__init__() + self.ui = Ui_Widget() + self.ui.setupUi(self) + print("AudioFilterWidget initialized") + + # 初始化表格设置 + self.setup_table() + + self.db_manager = DatabaseManager() + self.model = AudioFilterModel(self.db_manager) + + # 加载配置 + configs = self.db_manager.get_all_configs() + if configs: + # 有配置则加载最后一个 + last_config_id = configs[-1].id + self.model.load_config(last_config_id) + else: + # 没有配置则创建默认配置 + default_params = ParamData( + delay_data1=0.0, + ENC_volume_data1=0.0, + ENT_mx_right_data=0.0, + ENT_mix_left_data=0.0 + ) + + # 创建默认滤波器 + self.model.filters = [ + FilterData( + filter_type="PEQ", + freq=1000.0, + q=1.0, + gain=0.0, + slope=12.0 + ) + ] + self.model.params = default_params + + # 保存到数据库 + config_id = self.model.save_config("Default Config") + self.model.current_config_id = config_id + + self.controller = AudioFilterController(self.model, self) + self.update_view() + + # 添加表格数据变化的信号连接 + self.ui.tableWidget.itemChanged.connect(self.on_table_item_changed) + + def update_view(self): + self.update_table() + self.update_sliders() + self.update_params() + + def update_table_row(self, row: int): + filter_data = self.model.filters[row] + # 创建带复选框的滤波器名称项 + filter_item = QTableWidgetItem(filter_data.filter_type) + filter_item.setFlags(filter_item.flags() | Qt.ItemFlag.ItemIsUserCheckable) + filter_item.setCheckState(Qt.CheckState.Checked) # 默认选中 + + # 更新各列的值 + self.ui.tableWidget.setItem(row, 0, filter_item) + self.ui.tableWidget.setItem(row, 1, QTableWidgetItem(str(filter_data.freq))) + self.ui.tableWidget.setItem(row, 2, QTableWidgetItem(str(filter_data.q))) + self.ui.tableWidget.setItem(row, 3, QTableWidgetItem(str(filter_data.gain))) + self.ui.tableWidget.setItem(row, 4, QTableWidgetItem(str(filter_data.slope))) + + def update_table(self): + self.ui.tableWidget.setRowCount(len(self.model.filters)) + for i, filter_data in enumerate(self.model.filters): + self.update_table_row(i) + + def update_sliders(self): + if self.model.current_filter_index >= 0: + filter_data = self.model.filters[self.model.current_filter_index] + self.ui.verticalSlider.setValue(int(filter_data.freq)) + self.ui.verticalSlider_2.setValue(int(filter_data.q)) + self.ui.verticalSlider_3.setValue(int(filter_data.gain)) + self.ui.verticalSlider_4.setValue(int(filter_data.slope)) + + def update_params(self): + if self.model.params: + self.ui.lineEdit_11.setText(str(self.model.params.delay_data1)) + self.ui.lineEdit_10.setText(str(self.model.params.ENC_volume_data1)) + self.ui.lineEdit_13.setText(str(self.model.params.ENT_mx_right_data)) + self.ui.lineEdit_12.setText(str(self.model.params.ENT_mix_left_data)) + + def setup_table(self): + """初始化表格设置""" + table = self.ui.tableWidget + + # 设置列数和列标题 + table.setColumnCount(5) + headers = ["滤波器", "Freq", "Q", "Gain", "Slop"] + table.setHorizontalHeaderLabels(headers) + + # 创建带复选框的表头项 + header_item = QTableWidgetItem("滤波器") + header_item.setFlags(header_item.flags() | Qt.ItemFlag.ItemIsUserCheckable) + header_item.setCheckState(Qt.CheckState.Checked) # 默认选中 + table.setHorizontalHeaderItem(0, header_item) + + # 设置第一列的特殊属性,使其支持复选框 + table.setItemDelegateForColumn(0, None) + + # 设置表格样式,包括复选框的颜色 + table.setStyleSheet(""" + /* 基础样式设置 */ + QTableWidget, QHeaderView { + border: none; + } + + /* 同时设置表格和表头的复选框样式 */ + QTableWidget::indicator, + QHeaderView::down-arrow, + QHeaderView::indicator { + width: 20px; + height: 20px; + background-color: transparent; + color: #DFE1E2; + } + + /* 选中状态 */ + QTableWidget::indicator:checked, + QHeaderView::down-arrow:checked, + QHeaderView::indicator:checked { + image: none; + background-color: #FF0000; + border: 2px solid #FF0000; + } + + /* 未选中状态 */ + QTableWidget::indicator:unchecked, + QHeaderView::down-arrow:unchecked, + QHeaderView::indicator:unchecked { + image: none; + background-color: transparent; + border: 2px solid #DFE1E2; + } + """) + + # 设置表格属性 + table.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded) + table.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded) + table.setSizeAdjustPolicy(QAbstractScrollArea.SizeAdjustPolicy.AdjustToContents) + table.setAutoScroll(True) + table.setGridStyle(Qt.PenStyle.DotLine) + + # 设置表头 + header = table.horizontalHeader() + header.setVisible(True) + header.setMinimumSectionSize(18) + header.setDefaultSectionSize(67) + header.setHighlightSections(False) + header.setProperty("showSortIndicator", False) + header.setStretchLastSection(False) + + # 隐藏垂直表头 + v_header = table.verticalHeader() + v_header.setVisible(False) + v_header.setMinimumSectionSize(17) + v_header.setDefaultSectionSize(30) + v_header.setHighlightSections(False) + + # 添加表头复选框变化的信号连接 + table.horizontalHeader().sectionClicked.connect(self.on_header_clicked) + + def on_header_clicked(self, logical_index): + """处理表头点击事件""" + if logical_index == 0: # 只处理第一列 + header_item = self.ui.tableWidget.horizontalHeaderItem(0) + new_state = Qt.CheckState.Unchecked if header_item.checkState() == Qt.CheckState.Checked else Qt.CheckState.Checked + header_item.setCheckState(new_state) + + # 更新所有行的复选框状态 + for row in range(self.ui.tableWidget.rowCount()): + item = self.ui.tableWidget.item(row, 0) + if item: + item.setCheckState(new_state) + + def on_table_item_changed(self, item): + """处理表格数据变化""" + row = item.row() + column = item.column() + + if column == 0: # 处理滤波器名称的修改 + new_name = item.text() + # 检查是否存在重名(不包括当前滤波器) + for i, filter_data in enumerate(self.model.filters): + if i != row and filter_data.filter_type == new_name: + print(f"滤波器名称 '{new_name}' 已存在,请使用其他名称") + # 恢复原来的名称 + item.setText(self.model.filters[row].filter_type) + return + + # 更新滤波器名称并保存到数据库 + self.model.update_filter(row, filter_type=new_name) + # 更新组框标题(如果当前选中的是这个滤波器) + if row == self.model.current_filter_index: + self.ui.groupBox_4.setTitle(new_name) + # 保存整个配置到数据库 + if self.model.current_config_id: + self.model.save_config(f"Config {self.model.current_config_id}") + return + + try: + # 处理其他数值列的修改 + new_value = float(item.text()) + + # 更新对应的滑动条 + if column == 1: # Freq + self.ui.verticalSlider.setValue(int(new_value)) + elif column == 2: # Q + self.ui.verticalSlider_2.setValue(int(new_value)) + elif column == 3: # Gain + self.ui.verticalSlider_3.setValue(int(new_value)) + elif column == 4: # Slope + self.ui.verticalSlider_4.setValue(int(new_value)) + + except ValueError: + print("输入的值无效,请输入数字") diff --git a/widgets/avas_widget.py b/widgets/avas_widget.py new file mode 100644 index 0000000..02851cc --- /dev/null +++ b/widgets/avas_widget.py @@ -0,0 +1,204 @@ +import sys +from PySide6.QtWidgets import (QApplication, QWidget, QPushButton, QGridLayout, + QVBoxLayout, QHBoxLayout, QCheckBox, QComboBox, + QLabel, QSlider, QFrame, QGroupBox) +from PySide6.QtCore import Qt +from widgets.audio_filter_widget import AudioFilterWidget + +class ChannelButton(QWidget): + def __init__(self, channel_num): + super().__init__() + + # Create GroupBox for the channel + self.group = QGroupBox(f"CH{channel_num}") + layout = QVBoxLayout() + layout.setSpacing(2) + + # Channel button + self.channel_btn = QPushButton(f"Channel {channel_num}") + self.channel_btn.setFixedHeight(25) + + # Store audio filter window reference + self.filter_window = None + + # Controls container with two rows + controls_layout = QGridLayout() + controls_layout.setSpacing(2) + + # SOLO row + self.solo_cb = QCheckBox("S") + self.solo_btn = QPushButton("SOLO") + self.solo_btn.setFixedHeight(20) + controls_layout.addWidget(self.solo_cb, 0, 0) + controls_layout.addWidget(self.solo_btn, 0, 1) + + # MUTE row + self.mute_cb = QCheckBox("M") + self.mute_btn = QPushButton("MUTE") + self.mute_btn.setFixedHeight(20) + controls_layout.addWidget(self.mute_cb, 1, 0) + controls_layout.addWidget(self.mute_btn, 1, 1) + + # Add widgets to main layout + layout.addWidget(self.channel_btn) + layout.addLayout(controls_layout) + + # Set GroupBox layout + self.group.setLayout(layout) + + # Main layout + main_layout = QVBoxLayout() + main_layout.addWidget(self.group) + main_layout.setContentsMargins(2, 2, 2, 2) + self.setLayout(main_layout) + + # Set fixed size for the channel widget + self.setFixedSize(110, 100) + + # Style + self.channel_btn.setStyleSheet(""" + QPushButton { + background-color: #404040; + color: white; + border: 1px solid #505050; + } + QPushButton:hover { + background-color: #505050; + } + """) + + button_style = """ + QPushButton { + background-color: #303030; + color: white; + border: 1px solid #404040; + padding: 2px; + } + QPushButton:hover { + background-color: #404040; + } + """ + + self.solo_btn.setStyleSheet(button_style) + self.mute_btn.setStyleSheet(button_style) + + self.group.setStyleSheet(""" + QGroupBox { + border: 1px solid #505050; + margin-top: 0.5em; + padding: 2px; + } + QCheckBox { + spacing: 2px; + } + """) + + # Connect button click event + self.channel_btn.clicked.connect(self.show_filter_window) + + def show_filter_window(self): + if not self.filter_window: + self.filter_window = AudioFilterWidget() + # Set window title to include channel number + self.filter_window.setWindowTitle(f"Channel {self.group.title()} Filter Settings") + + # Show the window if it's not visible + if not self.filter_window.isVisible(): + self.filter_window.show() + else: + # If already visible, bring to front + self.filter_window.raise_() + self.filter_window.activateWindow() + +class AVAS_WIDGET(QWidget): + def __init__(self): + super().__init__() + self.setWindowTitle("AVAS") + self.setup_ui() + + def setup_ui(self): + main_layout = QVBoxLayout() + + # Top section - Channel buttons + channels_layout = QGridLayout() + for i in range(24): + row = i // 8 + col = i % 8 + channel = ChannelButton(i + 1) + channels_layout.addWidget(channel, row, col) + + # Middle section + middle_layout = QHBoxLayout() + + # Left side - Parameter matrix + param_matrix = self.create_parameter_matrix() + + # Right side - Filter controls + filter_controls = self.create_filter_controls() + + middle_layout.addWidget(param_matrix, stretch=2) + middle_layout.addWidget(filter_controls, stretch=1) + + # Bottom section + bottom_layout = QHBoxLayout() + clean_btn = QPushButton("Clean") + send_btn = QPushButton("Send") + enable_cb = QCheckBox("Enable") + + bottom_layout.addStretch() + bottom_layout.addWidget(clean_btn) + bottom_layout.addWidget(send_btn) + bottom_layout.addWidget(enable_cb) + + # Add all sections to main layout + main_layout.addLayout(channels_layout) + main_layout.addLayout(middle_layout) + main_layout.addLayout(bottom_layout) + + self.setLayout(main_layout) + + def create_parameter_matrix(self): + frame = QFrame() + frame.setFrameStyle(QFrame.Box) + layout = QGridLayout() + + # Add headers and parameter rows + for i in range(24): # 24 channels + layout.addWidget(QLabel(f"Ch{i+1}"), i+1, 0) + # Add parameter controls for each channel + for j in range(5): # Example: 5 parameters per channel + layout.addWidget(QSlider(Qt.Horizontal), i+1, j+1) + + frame.setLayout(layout) + return frame + + def create_filter_controls(self): + frame = QFrame() + frame.setFrameStyle(QFrame.Box) + layout = QVBoxLayout() + + # Filter selection + filter_select = QComboBox() + filter_select.addItems(["Filter 1", "Filter 2", "Filter 3"]) + + # Filter type radio buttons + filter_types = QVBoxLayout() + types = ["Pink-Pin", "Bass Setting", "Stereo Surround", "None"] + for type_name in types: + filter_types.addWidget(QCheckBox(type_name)) + + # Sliders + sliders_layout = QVBoxLayout() + slider_labels = ["Input Level", "Freq", "Gain"] + for label in slider_labels: + sliders_layout.addWidget(QLabel(label)) + sliders_layout.addWidget(QSlider(Qt.Horizontal)) + + layout.addWidget(QLabel("Filter Select")) + layout.addWidget(filter_select) + layout.addLayout(filter_types) + layout.addLayout(sliders_layout) + + frame.setLayout(layout) + return frame +