diff --git a/.gitignore b/.gitignore
index ceda881..d343f07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,7 @@ __pycache__/
/build
/dist
/*.spec
-/tmp/
-/.cache/
+tmp/
+.cache/
/output/
.DS_Store
diff --git a/src/Application.py b/src/Application.py
index 565b5e9..4e4b39e 100644
--- a/src/Application.py
+++ b/src/Application.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -47,7 +47,6 @@
class MyWindow(QtWidgets.QMainWindow):
-
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
@@ -57,14 +56,15 @@ def __init__(self):
self.ui.leNumTrain.setValidator(QIntValidator(1, 10000, self))
self.ui.leNumTest.setValidator(QIntValidator(1, 5000, self))
self.ui.leOutlierRate.setValidator(QDoubleValidator(0.1, 0.5, 2, self))
- self.ui.lbProgress.setText('就绪')
+ self.ui.lbProgress.setText("就绪")
self.ui.lbImage.setScaledContents(True)
self.data_config = DataConfig()
self.model_config = ModelConfig()
self.ui.cbModelName.addItems(MODEL_ZOO.model_list)
- self.ui.cbModelName.setCurrentText('KNN')
+ self.ui.cbModelName.setCurrentText("KNN")
from src.NAME import NAME
+
self.ui.centralwidget.setWindowTitle(NAME)
self.ui.leNumTrain.setText(str(self.data_config.n_train))
@@ -76,13 +76,13 @@ def __init__(self):
@pyqtSlot(str)
def on_cbModelName_currentTextChanged(self, value: str):
- LOG.info(f'cbModelName: {value}')
+ LOG.info(f"cbModelName: {value}")
self.model_config.name = value
@pyqtSlot()
def on_leSeed_editingFinished(self):
value = self.ui.leSeed.text()
- LOG.info(f'leSeed: {value}')
+ LOG.info(f"leSeed: {value}")
try:
self.data_config.seed = int(value)
except ValueError:
@@ -91,7 +91,7 @@ def on_leSeed_editingFinished(self):
@pyqtSlot()
def on_leNumTrain_editingFinished(self):
value = self.ui.leNumTrain.text()
- LOG.info(f'leNumTrain: {value}')
+ LOG.info(f"leNumTrain: {value}")
try:
self.data_config.n_train = int(value)
except ValueError:
@@ -100,7 +100,7 @@ def on_leNumTrain_editingFinished(self):
@pyqtSlot()
def on_leNumTest_editingFinished(self):
value = self.ui.leNumTest.text()
- LOG.info(f'leNumTest: {value}')
+ LOG.info(f"leNumTest: {value}")
try:
self.data_config.n_test = int(value)
except ValueError:
@@ -109,7 +109,7 @@ def on_leNumTest_editingFinished(self):
@pyqtSlot()
def on_leOutlierRate_editingFinished(self):
value = self.ui.leOutlierRate.text()
- LOG.info(f'leOutlierRate: {value}')
+ LOG.info(f"leOutlierRate: {value}")
try:
self.data_config.contamination = float(value)
except ValueError:
@@ -118,7 +118,7 @@ def on_leOutlierRate_editingFinished(self):
@pyqtSlot()
def on_leNumFeas_editingFinished(self):
value = self.ui.leNumFeas.text()
- LOG.info(f'leNumFeas: {value}')
+ LOG.info(f"leNumFeas: {value}")
try:
self.data_config.n_features = int(value)
except ValueError:
@@ -126,17 +126,21 @@ def on_leNumFeas_editingFinished(self):
@pyqtSlot()
def on_pbRunDetect_clicked(self):
- LOG.info(f'pbRunDetect clicked')
+ LOG.info(f"pbRunDetect clicked")
if self.job is not None:
- QMessageBox.warning(self, '警告', '检测进行中,请等待',
- QMessageBox.StandardButton.Yes,
- QMessageBox.StandardButton.Yes)
+ QMessageBox.warning(
+ self,
+ "警告",
+ "检测进行中,请等待",
+ QMessageBox.StandardButton.Yes,
+ QMessageBox.StandardButton.Yes,
+ )
return
pgb = self.ui.pgbEvaluator
pgb.reset()
pgb.setRange(0, len(RunEvaluator.ACTION_LIST) - 1)
- self.ui.lbProgress.setText('检测中')
+ self.ui.lbProgress.setText("检测中")
self.job = RunEvaluator(
parent=self,
data_config=self.data_config,
@@ -146,10 +150,10 @@ def on_pbRunDetect_clicked(self):
self.job.start()
ACTION_TO_PROGRESS = dict(
- load_data='数据加载完成',
- load_model='模型加载完成',
- detect='检测完成',
- visualize='可视化完成',
+ load_data="数据加载完成",
+ load_model="模型加载完成",
+ detect="检测完成",
+ visualize="可视化完成",
)
def reset_job(self):
@@ -161,28 +165,31 @@ def reset_job(self):
self.job = None
def build_slot_dict(self):
-
def on_visualize(tag: str, image: str):
on_progress(tag)
label = self.ui.lbImage
image = QtGui.QPixmap(image).scaled(label.width(), label.height())
assert not image.isNull()
label.setPixmap(image)
- LOG.info(f'Label on {image}, tag {tag}')
+ LOG.info(f"Label on {image}, tag {tag}")
self.reset_job()
def on_error(tag: str, msg: str):
- LOG.info(f'Error {msg}, tag {tag}')
- QMessageBox.warning(self, '错误', msg,
- QMessageBox.StandardButton.Yes,
- QMessageBox.StandardButton.Yes)
+ LOG.info(f"Error {msg}, tag {tag}")
+ QMessageBox.warning(
+ self,
+ "错误",
+ msg,
+ QMessageBox.StandardButton.Yes,
+ QMessageBox.StandardButton.Yes,
+ )
self.reset_job()
def on_progress(tag: str):
assert tag in self.ACTION_TO_PROGRESS
text = self.ACTION_TO_PROGRESS[tag]
self.ui.lbProgress.setText(text)
- LOG.info(f'Progress {tag} => {text}')
+ LOG.info(f"Progress {tag} => {text}")
pgb = self.ui.pgbEvaluator
val_pgb = RunEvaluator.ACTION_LIST.index(tag)
assert val_pgb != -1
@@ -202,10 +209,10 @@ class RunEvaluator(QThread):
# error not in here!!
ACTION_LIST = [
- 'load_data',
- 'load_model',
- 'detect',
- 'visualize',
+ "load_data",
+ "load_model",
+ "detect",
+ "visualize",
]
def __init__(
@@ -221,16 +228,16 @@ def __init__(
self.evaluator = DetectionEvaluator()
for key, slot in slot_dict.items():
try:
- sig = getattr(self, f'sig_{key}')
+ sig = getattr(self, f"sig_{key}")
except AttributeError:
continue
sig.connect(slot)
def get_args(self, key):
- if key == 'load_data':
- return (self.data_config, )
- if key == 'load_model':
- return (self.model_config, )
+ if key == "load_data":
+ return (self.data_config,)
+ if key == "load_model":
+ return (self.model_config,)
return tuple()
def run(self) -> None:
@@ -240,13 +247,13 @@ def run(self) -> None:
try:
ret = action(*args)
except Exception as e:
- self.sig_error.emit('error', str(e))
+ self.sig_error.emit("error", str(e))
traceback.print_exc()
- LOG.warning(f'Error in action {key}')
+ LOG.warning(f"Error in action {key}")
return
else:
- sig = getattr(self, f'sig_{key}')
- if key == 'visualize':
+ sig = getattr(self, f"sig_{key}")
+ if key == "visualize":
sig.emit(key, str(ret))
else:
sig.emit(key)
diff --git a/src/Batch.py b/src/Batch.py
index 89830ff..1bfca2b 100644
--- a/src/Batch.py
+++ b/src/Batch.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -27,7 +27,7 @@
from pathlib import Path as P
from src.OutlierDetect import *
-OUTPUT_DIR = ensure_dir(PROJ_DIR.joinpath('output'))
+OUTPUT_DIR = ensure_dir(PROJ_DIR.joinpath("output"))
def make_data_config(contamination):
@@ -41,10 +41,9 @@ def make_data_config(contamination):
def run(data_config: DataConfig, model_config: ModelConfig, root: P):
c = data_config
- prefix = '-'.join(map(str, [c.n_train, c.n_test, c.n_features]))
- root = root.joinpath(prefix).joinpath(f'{c.contamination_percent}')
- DetectionEvaluator().load_data(c).load_model(
- model_config).detect().visualize(root)
+ prefix = "-".join(map(str, [c.n_train, c.n_test, c.n_features]))
+ root = root.joinpath(prefix).joinpath(f"{c.contamination_percent}")
+ DetectionEvaluator().load_data(c).load_model(model_config).detect().visualize(root)
def get_args(rate_list, model_list, root):
@@ -61,8 +60,8 @@ def batch_run():
rate_list = [0.1, 0.3, 0.5]
Parallel(NUM_JOBS, verbose=VERBOSE)(
- delayed(run)(*args)
- for args in get_args(rate_list, model_list, OUTPUT_DIR))
+ delayed(run)(*args) for args in get_args(rate_list, model_list, OUTPUT_DIR)
+ )
if __name__ == "__main__":
diff --git a/src/NAME.py b/src/NAME.py
index 3e7db5a..285e300 100644
--- a/src/NAME.py
+++ b/src/NAME.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -20,5 +20,5 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-NAME = '异常流量数据分析软件'
-print(f'NAME IS {NAME}')
+NAME = "异常流量数据分析软件"
+print(f"NAME IS {NAME}")
diff --git a/src/OutlierDetect.py b/src/OutlierDetect.py
index a555bb5..1987747 100644
--- a/src/OutlierDetect.py
+++ b/src/OutlierDetect.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -54,15 +54,16 @@ def ensure_dir(dir: P):
LOG = logging.getLogger("[OutlierDetect]")
PROJ_DIR = P(__file__).parent
TMP_DIR = ensure_dir(PROJ_DIR.joinpath("tmp"))
-CACHE_DIR = ensure_dir(PROJ_DIR.joinpath('.cache'))
+CACHE_DIR = ensure_dir(PROJ_DIR.joinpath(".cache"))
MEMORY = Memory(location=CACHE_DIR, verbose=VERBOSE)
NUM_JOBS = 1
-EAGER = os.getenv('ODQT_EAGER', '')
+EAGER = os.getenv("ODQT_EAGER", "")
if EAGER:
- LOG.info('EAGER loading pyod modules...')
+ LOG.info("EAGER loading pyod modules...")
import src.PYODLIBS as PYODLIBS
- LOG.info('Done')
+
+ LOG.info("Done")
else:
PYODLIBS = None
@@ -83,8 +84,7 @@ class DataConfig:
def contamination_percent(self):
return int(100 * self.contamination)
- def load_data(self) -> 'Data':
-
+ def load_data(self) -> "Data":
@MEMORY.cache
def _load_data(self: DataConfig):
from pyod.utils.data import generate_data
@@ -98,10 +98,11 @@ def _load_data(self: DataConfig):
n_features=self.n_features,
random_state=self.seed,
)
- LOG.info(f'Begin TSNE')
+ LOG.info(f"Begin TSNE")
d.X_train2d, d.X_test2d = Parallel(1)(
- delayed(tsne)(X) for X in [d.X_train, d.X_test])
- LOG.info('End TSNE')
+ delayed(tsne)(X) for X in [d.X_train, d.X_test]
+ )
+ LOG.info("End TSNE")
return d
@@ -110,10 +111,9 @@ def _load_data(self: DataConfig):
@dataclass
class ModelConfig:
- name: str = 'KNN'
+ name: str = "KNN"
def load_model(self, contamination: float):
-
@MEMORY.cache
def _load_model(self: ModelConfig, contamination: float):
cls = MODEL_ZOO.load(self.name)
@@ -132,8 +132,7 @@ class Model:
def name(self):
return self.model_config.name
- def detect(self, data: 'Data'):
-
+ def detect(self, data: "Data"):
@MEMORY.cache
def _detect(self: Model, data: Data):
self.model.fit(data.X_train, data.y_train)
@@ -141,7 +140,8 @@ def _detect(self: Model, data: Data):
res.y_train_pred = self.model.labels_
res.y_train_scores = self.model.decision_scores_
res.y_test_pred, res.y_test_pred_confidence = self.model.predict(
- data.X_test, return_confidence=True)
+ data.X_test, return_confidence=True
+ )
return res
return _detect(self, data)
@@ -230,7 +230,7 @@ def dis2real(self, dis: str):
return self.display2real.get(dis, dis)
-MODEL_ZOO = ModelZoo(AutoEncoder='MVC')
+MODEL_ZOO = ModelZoo(AutoEncoder="MVC")
@dataclass
@@ -259,6 +259,7 @@ class DetectionResult:
"""
检测结果。基于它可以进行各种可视化和展示。
"""
+
# get the prediction labels and outlier scores of the training data
y_train_pred = None # binary labels (0: inliers, 1: outliers)
y_train_scores = None # raw outlier scores
@@ -309,10 +310,12 @@ def visualize(self, parent: P = None):
parent = ensure_dir(parent.absolute())
import os
+
temp = P.cwd()
os.chdir(parent)
clf_name, data, res = self.model.name, self.data, self.result
from pyod.utils.example import visualize
+
visualize(
clf_name=clf_name,
show_figure=False,
@@ -325,11 +328,10 @@ def visualize(self, parent: P = None):
y_test_pred=res.y_test_pred,
)
os.chdir(temp)
- image = parent.joinpath(f'{clf_name}.png')
+ image = parent.joinpath(f"{clf_name}.png")
return image
if __name__ == "__main__":
ev = DetectionEvaluator()
- ev.load_data(DataConfig()).load_model(
- ModelConfig()).detect().visualize(TMP_DIR)
+ ev.load_data(DataConfig()).load_model(ModelConfig()).detect().visualize(TMP_DIR)
diff --git a/src/PYODLIBS.py b/src/PYODLIBS.py
index 097939e..dabc6b8 100644
--- a/src/PYODLIBS.py
+++ b/src/PYODLIBS.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
diff --git a/src/UserInterface.py b/src/UserInterface.py
index acd454d..f139bb6 100644
--- a/src/UserInterface.py
+++ b/src/UserInterface.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -37,1314 +37,1316 @@ class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(884, 749)
- MainWindow.setStyleSheet("/* ------------------------------------------------------------------------ */\n"
-"/* QtMaterial - https://github.com/UN-GCPDS/qt-material\n"
-"/* By Yeison Cardona - GCPDS\n"
-"/* ------------------------------------------------------------------------ */\n"
-"\n"
-"*{\n"
-" color: #555555;\n"
-"\n"
-" font-family: Roboto;\n"
-"\n"
-" \n"
-" font-size: 13px;\n"
-" \n"
-"\n"
-" \n"
-" line-height: 13px;\n"
-" \n"
-"\n"
-" selection-background-color: #75a7ff;\n"
-" selection-color: #3c3c3c;\n"
-"}\n"
-"\n"
-"*:focus {\n"
-" outline: none;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Custom colors */\n"
-"\n"
-".danger{\n"
-" color: #dc3545;\n"
-" background-color: transparent;\n"
-"}\n"
-"\n"
-".warning{\n"
-" color: #ffc107;\n"
-" background-color: transparent;\n"
-"}\n"
-"\n"
-".success{\n"
-" color: #17a2b8;\n"
-" background-color: transparent;\n"
-"}\n"
-"\n"
-".danger:disabled{\n"
-" color: rgba(220, 53, 69, 0.4);\n"
-" border-color: rgba(220, 53, 69, 0.4);\n"
-"}\n"
-"\n"
-".warning:disabled{\n"
-" color: rgba(255, 193, 7, 0.4);\n"
-" border-color: rgba(255, 193, 7, 0.4);\n"
-"}\n"
-"\n"
-".success:disabled{\n"
-" color: rgba(23, 162, 184, 0.4);\n"
-" border-color: rgba(23, 162, 184, 0.4);\n"
-"}\n"
-"\n"
-".danger:flat:disabled{\n"
-" background-color: rgba(220, 53, 69, 0.1);\n"
-"}\n"
-"\n"
-".warning:flat:disabled{\n"
-" background-color: rgba(255, 193, 7, 0.1);\n"
-"}\n"
-"\n"
-".success:flat:disabled{\n"
-" background-color: rgba(23, 162, 184, 0.1);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Basic widgets */\n"
-"\n"
-"QWidget {\n"
-" background-color: #e6e6e6;\n"
-"}\n"
-"\n"
-"QGroupBox,\n"
-"QFrame {\n"
-" background-color: #e6e6e6;\n"
-" border: 2px solid #ffffff;\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"QGroupBox.fill_background,\n"
-"QFrame.fill_background {\n"
-" background-color: #f5f5f5;\n"
-" border: 2px solid #f5f5f5;\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"QSplitter {\n"
-" background-color: transparent;\n"
-" border: none\n"
-"}\n"
-"\n"
-"QStatusBar {\n"
-" color: #555555;\n"
-" background-color: rgba(255, 255, 255, 0.2);\n"
-" border-radius: 0px;\n"
-"}\n"
-"\n"
-"QScrollArea,\n"
-"QStackedWidget,\n"
-"QWidget > QToolBox,\n"
-"QToolBox > QWidget,\n"
-"QTabWidget > QWidget {\n"
-" border: none;\n"
-"}\n"
-"\n"
-"QTabWidget::pane {\n"
-" border: none;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Inputs */\n"
-"\n"
-"QDateTimeEdit,\n"
-"QSpinBox,\n"
-"QDoubleSpinBox,\n"
-"QTextEdit,\n"
-"QLineEdit,\n"
-"QPushButton {\n"
-" color: #2979ff;\n"
-" background-color: #e6e6e6;\n"
-" border: 2px solid #2979ff;\n"
-" border-radius: 4px;\n"
-" height: 32px;\n"
-"}\n"
-"\n"
-"QDateTimeEdit,\n"
-"QSpinBox,\n"
-"QDoubleSpinBox,\n"
-"QTreeView,\n"
-"QListView,\n"
-"QLineEdit,\n"
-"QComboBox {\n"
-" padding-left: 16px;\n"
-" border-radius: 0px;\n"
-" background-color: #f5f5f5;\n"
-" border-width: 0 0 2px 0;\n"
-" border-radius: 0px;\n"
-" border-top-left-radius: 4px;\n"
-" border-top-right-radius: 4px;\n"
-" height: 32px;\n"
-"}\n"
-"\n"
-"QPlainTextEdit {\n"
-" border-radius: 4px;\n"
-" padding: 8px 16px;\n"
-" background-color: #e6e6e6;\n"
-" border: 2px solid #ffffff;\n"
-"}\n"
-"\n"
-"QTextEdit {\n"
-" padding: 8px 16px;\n"
-" border-radius: 4px;\n"
-" background-color: #f5f5f5;\n"
-"}\n"
-"\n"
-"QDateTimeEdit:disabled,\n"
-"QSpinBox:disabled,\n"
-"QDoubleSpinBox:disabled,\n"
-"QTextEdit:disabled,\n"
-"QLineEdit:disabled {\n"
-" color: rgba(41, 121, 255, 0.2);\n"
-" background-color: rgba(245, 245, 245, 0.75);\n"
-" border: 2px solid rgba(41, 121, 255, 0.2);\n"
-" border-width: 0 0 2px 0;\n"
-" padding: 0px 16px;\n"
-" border-radius: 0px;\n"
-" border-top-left-radius: 4px;\n"
-" border-top-right-radius: 4px;\n"
-" height: 32px;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QComboBox */\n"
-"\n"
-"QComboBox {\n"
-" color: #2979ff;\n"
-" border: 1px solid #2979ff;\n"
-" border-width: 0 0 2px 0;\n"
-" background-color: #f5f5f5;\n"
-" border-radius: 0px;\n"
-" border-top-left-radius: 4px;\n"
-" border-top-right-radius: 4px;\n"
-" height: 32px;\n"
-"}\n"
-"\n"
-"QComboBox:disabled {\n"
-" color: rgba(41, 121, 255, 0.2);\n"
-" background-color: rgba(245, 245, 245, 0.75);\n"
-" border-bottom: 2px solid rgba(41, 121, 255, 0.2);\n"
-"}\n"
-"\n"
-"QComboBox::drop-down {\n"
-" border: none;\n"
-" color: #2979ff;\n"
-" width: 20px;\n"
-"}\n"
-"\n"
-"QComboBox::down-arrow {\n"
-" image: url(icon:/primary/downarrow.svg);\n"
-" margin-right: 12px;\n"
-"}\n"
-"\n"
-"QComboBox::down-arrow:disabled {\n"
-" image: url(icon:/disabled/downarrow.svg);\n"
-" margin-right: 12px;\n"
-"}\n"
-"\n"
-"QComboBox QAbstractItemView {\n"
-" background-color: #f5f5f5;\n"
-" border: 2px solid #ffffff;\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"QComboBox[frame=\'false\'] {\n"
-" color: #2979ff;\n"
-" background-color: transparent;\n"
-" border: 1px solid transparent;\n"
-"}\n"
-"QComboBox[frame=\'false\']:disabled {\n"
-" color: rgba(41, 121, 255, 0.2);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Spin buttons */\n"
-"\n"
-"QDateTimeEdit::up-button,\n"
-"QDoubleSpinBox::up-button,\n"
-"QSpinBox::up-button {\n"
-" subcontrol-origin: border;\n"
-" subcontrol-position: top right;\n"
-" width: 20px;\n"
-" image: url(icon:/primary/uparrow.svg);\n"
-" border-width: 0px;\n"
-" margin-right: 5px;\n"
-"}\n"
-"\n"
-"QDateTimeEdit::up-button:disabled,\n"
-"QDoubleSpinBox::up-button:disabled,\n"
-"QSpinBox::up-button:disabled {\n"
-" image: url(icon:/disabled/uparrow.svg);\n"
-"}\n"
-"\n"
-"QDateTimeEdit::down-button,\n"
-"QDoubleSpinBox::down-button,\n"
-"QSpinBox::down-button {\n"
-" subcontrol-origin: border;\n"
-" subcontrol-position: bottom right;\n"
-" width: 20px;\n"
-" image: url(icon:/primary/downarrow.svg);\n"
-" border-width: 0px;\n"
-" border-top-width: 0;\n"
-" margin-right: 5px;\n"
-"}\n"
-"\n"
-"QDateTimeEdit::down-button:disabled,\n"
-"QDoubleSpinBox::down-button:disabled,\n"
-"QSpinBox::down-button:disabled {\n"
-" image: url(icon:/disabled/downarrow.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QPushButton */\n"
-"\n"
-"QPushButton {\n"
-" text-transform: uppercase;\n"
-" margin: 0px;\n"
-" padding: 1px 16px;\n"
-" height: 32px;\n"
-" font-weight: bold;\n"
-"\n"
-" \n"
-" border-radius: 4px;\n"
-" \n"
-"\n"
-"\n"
-"}\n"
-"\n"
-"QPushButton:checked,\n"
-"QPushButton:pressed {\n"
-" color: #e6e6e6;\n"
-" background-color: #2979ff;\n"
-"}\n"
-"\n"
-"QPushButton:flat {\n"
-" margin: 0px;\n"
-" color: #2979ff;\n"
-" border: none;\n"
-" background-color: transparent;\n"
-"}\n"
-"\n"
-"QPushButton:flat:hover {\n"
-" background-color: rgba(41, 121, 255, 0.2);\n"
-"}\n"
-"\n"
-"QPushButton:flat:pressed,\n"
-"QPushButton:flat:checked {\n"
-" background-color: rgba(41, 121, 255, 0.1);\n"
-"}\n"
-"\n"
-"QPushButton:disabled {\n"
-" color: rgba(255, 255, 255, 0.75);\n"
-" background-color: transparent;\n"
-" border-color: #ffffff;\n"
-"}\n"
-"\n"
-"QPushButton:flat:disabled {\n"
-" color: rgba(255, 255, 255, 0.75);\n"
-" background-color: rgba(255, 255, 255, 0.25);\n"
-" border: none;\n"
-"}\n"
-"\n"
-"QPushButton:disabled {\n"
-" border: 2px solid rgba(255, 255, 255, 0.75);\n"
-"}\n"
-"\n"
-"QPushButton:checked:disabled {\n"
-" color: #f5f5f5;\n"
-" background-color: #ffffff;\n"
-" border-color: #ffffff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QTabBar */\n"
-"\n"
-"QTabBar{\n"
-" text-transform: uppercase;\n"
-" font-weight: bold;\n"
-"}\n"
-"\n"
-"QTabBar::tab {\n"
-" color: #555555;\n"
-" border: 0px;\n"
-"}\n"
-"\n"
-"QTabBar::tab:bottom,\n"
-"QTabBar::tab:top{\n"
-" padding: 0 16px;\n"
-" height: 28px;\n"
-"}\n"
-"\n"
-"QTabBar::tab:left,\n"
-"QTabBar::tab:right{\n"
-" padding: 16px 0;\n"
-" width: 28px;\n"
-"}\n"
-"\n"
-"QTabBar::tab:top:selected,\n"
-"QTabBar::tab:top:hover {\n"
-" color: #2979ff;\n"
-" border-bottom: 2px solid #2979ff;\n"
-"}\n"
-"\n"
-"QTabBar::tab:bottom:selected,\n"
-"QTabBar::tab:bottom:hover {\n"
-" color: #2979ff;\n"
-" border-top: 2px solid #2979ff;\n"
-"}\n"
-"\n"
-"QTabBar::tab:right:selected,\n"
-"QTabBar::tab:right:hover {\n"
-" color: #2979ff;\n"
-" border-left: 2px solid #2979ff;\n"
-"}\n"
-"\n"
-"QTabBar::tab:left:selected,\n"
-"QTabBar::tab:left:hover {\n"
-" color: #2979ff;\n"
-" border-right: 2px solid #2979ff;\n"
-"}\n"
-"\n"
-"QTabBar QToolButton:hover,\n"
-"QTabBar QToolButton {\n"
-" border: 20px;\n"
-" background-color: #e6e6e6;\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::up-arrow {\n"
-" image: url(icon:/disabled/uparrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::up-arrow:hover {\n"
-" image: url(icon:/primary/uparrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::down-arrow {\n"
-" image: url(icon:/disabled/downarrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::down-arrow:hover {\n"
-" image: url(icon:/primary/downarrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::right-arrow {\n"
-" image: url(icon:/primary/rightarrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::right-arrow:hover {\n"
-" image: url(icon:/disabled/rightarrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::left-arrow {\n"
-" image: url(icon:/primary/leftarrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar QToolButton::left-arrow:hover {\n"
-" image: url(icon:/disabled/leftarrow2.svg);\n"
-"}\n"
-"\n"
-"QTabBar::close-button {\n"
-" image: url(icon:/disabled/tab_close.svg);\n"
-"}\n"
-"\n"
-"QTabBar::close-button:hover {\n"
-" image: url(icon:/primary/tab_close.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QGroupBox */\n"
-"\n"
-"QGroupBox {\n"
-" padding: 16px;\n"
-" padding-top: 36px;\n"
-" line-height: ;\n"
-" text-transform: uppercase;\n"
-" font-size: ;\n"
-"}\n"
-"\n"
-"QGroupBox::title {\n"
-" color: rgba(85, 85, 85, 0.4);\n"
-" subcontrol-origin: margin;\n"
-" subcontrol-position: top left;\n"
-" padding: 16px;\n"
-" background-color: #e6e6e6;\n"
-" background-color: transparent;\n"
-" height: 36px;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QRadioButton and QCheckBox labels */\n"
-"\n"
-"QRadioButton,\n"
-"QCheckBox {\n"
-" spacing: 12px;\n"
-" color: #555555;\n"
-" line-height: 14px;\n"
-" height: 36px;\n"
-" background-color: transparent;\n"
-" spacing: 5px;\n"
-"}\n"
-"\n"
-"QRadioButton:disabled,\n"
-"QCheckBox:disabled {\n"
-" color: rgba(85, 85, 85, 0.3);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* General Indicators */\n"
-"\n"
-"QGroupBox::indicator {\n"
-" width: 24px;\n"
-" height: 24px;\n"
-" border-radius: 3px;\n"
-"}\n"
-"\n"
-"QMenu::indicator,\n"
-"QListView::indicator,\n"
-"QTableWidget::indicator,\n"
-"QRadioButton::indicator,\n"
-"QCheckBox::indicator {\n"
-" width: 28px;\n"
-" height: 28px;\n"
-" border-radius: 4px;\n"
-" }\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QListView Indicator */\n"
-"\n"
-"QListView::indicator:checked,\n"
-"QListView::indicator:checked:selected,\n"
-"QListView::indicator:checked:focus {\n"
-" image: url(icon:/primary/checklist.svg);\n"
-"}\n"
-"\n"
-"QListView::indicator:checked:selected:active {\n"
-" image: url(icon:/primary/checklist_invert.svg);\n"
-"}\n"
-"\n"
-"QListView::indicator:checked:disabled {\n"
-" image: url(icon:/disabled/checklist.svg);\n"
-"}\n"
-"\n"
-"QListView::indicator:indeterminate,\n"
-"QListView::indicator:indeterminate:selected,\n"
-"QListView::indicator:indeterminate:focus {\n"
-" image: url(icon:/primary/checklist_indeterminate.svg);\n"
-"}\n"
-"\n"
-"QListView::indicator:indeterminate:selected:active {\n"
-" image: url(icon:/primary/checklist_indeterminate_invert.svg);\n"
-"}\n"
-"\n"
-"QListView::indicator:indeterminate:disabled {\n"
-" image: url(icon:/disabled/checklist_indeterminate.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QTableView Indicator */\n"
-"\n"
-"QTableView::indicator:enabled:checked,\n"
-"QTableView::indicator:enabled:checked:selected,\n"
-"QTableView::indicator:enabled:checked:focus {\n"
-" image: url(icon:/primary/checkbox_checked.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:checked:selected:active {\n"
-" image: url(icon:/primary/checkbox_checked_invert.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:disabled:checked,\n"
-"QTableView::indicator:disabled:checked:selected,\n"
-"QTableView::indicator:disabled:checked:focus {\n"
-" image: url(icon:/disabled/checkbox_checked.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:enabled:unchecked,\n"
-"QTableView::indicator:enabled:unchecked:selected,\n"
-"QTableView::indicator:enabled:unchecked:focus {\n"
-" image: url(icon:/primary/checkbox_unchecked.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:unchecked:selected:active {\n"
-" image: url(icon:/primary/checkbox_unchecked_invert.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:disabled:unchecked,\n"
-"QTableView::indicator:disabled:unchecked:selected,\n"
-"QTableView::indicator:disabled:unchecked:focus {\n"
-" image: url(icon:/disabled/checkbox_unchecked.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:enabled:indeterminate,\n"
-"QTableView::indicator:enabled:indeterminate:selected,\n"
-"QTableView::indicator:enabled:indeterminate:focus {\n"
-" image: url(icon:/primary/checkbox_indeterminate.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:indeterminate:selected:active {\n"
-" image: url(icon:/primary/checkbox_indeterminate_invert.svg);\n"
-"}\n"
-"\n"
-"QTableView::indicator:disabled:indeterminate,\n"
-"QTableView::indicator:disabled:indeterminate:selected,\n"
-"QTableView::indicator:disabled:indeterminate:focus {\n"
-" image: url(icon:/disabled/checkbox_indeterminate.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QCheckBox and QGroupBox Indicator */\n"
-"\n"
-"QCheckBox::indicator:checked,\n"
-"QGroupBox::indicator:checked {\n"
-" image: url(icon:/primary/checkbox_checked.svg);\n"
-"}\n"
-"\n"
-"QCheckBox::indicator:unchecked,\n"
-"QGroupBox::indicator:unchecked {\n"
-" image: url(icon:/primary/checkbox_unchecked.svg);\n"
-"}\n"
-"\n"
-"QCheckBox::indicator:indeterminate,\n"
-"QGroupBox::indicator:indeterminate {\n"
-" image: url(icon:/primary/checkbox_indeterminate.svg);\n"
-"}\n"
-"\n"
-"QCheckBox::indicator:checked:disabled,\n"
-"QGroupBox::indicator:checked:disabled {\n"
-" image: url(icon:/disabled/checkbox_checked.svg);\n"
-"}\n"
-"\n"
-"QCheckBox::indicator:unchecked:disabled,\n"
-"QGroupBox::indicator:unchecked:disabled {\n"
-" image: url(icon:/disabled/checkbox_unchecked.svg);\n"
-"}\n"
-"\n"
-"QCheckBox::indicator:indeterminate:disabled,\n"
-"QGroupBox::indicator:indeterminate:disabled {\n"
-" image: url(icon:/disabled/checkbox_indeterminate.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QRadioButton Indicator */\n"
-"\n"
-"QRadioButton::indicator:checked {\n"
-" image: url(icon:/primary/radiobutton_checked.svg);\n"
-"}\n"
-"\n"
-"QRadioButton::indicator:unchecked {\n"
-" image: url(icon:/primary/radiobutton_unchecked.svg);\n"
-"}\n"
-"\n"
-"QRadioButton::indicator:checked:disabled {\n"
-" image: url(icon:/disabled/radiobutton_checked.svg);\n"
-"}\n"
-"\n"
-"QRadioButton::indicator:unchecked:disabled {\n"
-" image: url(icon:/disabled/radiobutton_unchecked.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QDockWidget */\n"
-"\n"
-"QDockWidget {\n"
-" color: #555555;\n"
-" text-transform: uppercase;\n"
-" border: 2px solid #f5f5f5;\n"
-" titlebar-close-icon: url(icon:/primary/close.svg);\n"
-" titlebar-normal-icon: url(icon:/primary/float.svg);\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"QDockWidget::title {\n"
-" text-align: left;\n"
-" padding-left: 36px;\n"
-" padding: 3px;\n"
-" margin-top: 4px;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QComboBox indicator */\n"
-"\n"
-"QComboBox::indicator:checked {\n"
-" image: url(icon:/primary/checklist.svg);\n"
-"}\n"
-"\n"
-"QComboBox::indicator:checked:selected {\n"
-" image: url(icon:/primary/checklist_invert.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Menu Items */\n"
-"\n"
-"QComboBox::item,\n"
-"QCalendarWidget QMenu::item,\n"
-"QMenu::item {\n"
-" \n"
-" height: 28px;\n"
-" \n"
-" border: 8px solid transparent;\n"
-" color: #555555;\n"
-"}\n"
-"\n"
-"QCalendarWidget QMenu::item,\n"
-"QMenu::item {\n"
-" \n"
-" \n"
-" \n"
-"}\n"
-"\n"
-"\n"
-"QComboBox::item:selected,\n"
-"QCalendarWidget QMenu::item:selected,\n"
-"QMenu::item:selected {\n"
-" color: #3c3c3c;\n"
-" background-color: #75a7ff;\n"
-" border-radius: 0px;\n"
-"}\n"
-"\n"
-"QComboBox::item:disabled,\n"
-"QCalendarWidget QMenu::item:disabled,\n"
-"QMenu::item:disabled {\n"
-" color: rgba(85, 85, 85, 0.3);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QMenu */\n"
-"\n"
-"QCalendarWidget QMenu,\n"
-"QMenu {\n"
-" background-color: #f5f5f5;\n"
-" border: 2px solid #ffffff;\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"QMenu::separator {\n"
-" height: 2px;\n"
-" background-color: #ffffff;\n"
-" margin-left: 2px;\n"
-" margin-right: 2px;\n"
-"}\n"
-"\n"
-"QMenu::right-arrow{\n"
-" image: url(icon:/primary/rightarrow.svg);\n"
-" width: 16px;\n"
-" height: 16px;\n"
-"}\n"
-"\n"
-"QMenu::right-arrow:selected{\n"
-" image: url(icon:/disabled/rightarrow.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:non-exclusive:unchecked {\n"
-" image: url(icon:/primary/checkbox_unchecked.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:non-exclusive:unchecked:selected {\n"
-" image: url(icon:/primary/checkbox_unchecked_invert.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:non-exclusive:checked {\n"
-" image: url(icon:/primary/checkbox_checked.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:non-exclusive:checked:selected {\n"
-" image: url(icon:/primary/checkbox_checked_invert.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:exclusive:unchecked {\n"
-" image: url(icon:/primary/radiobutton_unchecked.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:exclusive:unchecked:selected {\n"
-" image: url(icon:/primary/radiobutton_unchecked_invert.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:exclusive:checked {\n"
-" image: url(icon:/primary/radiobutton_checked.svg);\n"
-"}\n"
-"\n"
-"QMenu::indicator:exclusive:checked:selected {\n"
-" image: url(icon:/primary/radiobutton_checked_invert.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QMenuBar */\n"
-"\n"
-"QMenuBar {\n"
-" background-color: #f5f5f5;\n"
-" color: #555555;\n"
-"}\n"
-"\n"
-"QMenuBar::item {\n"
-" height: 32px;\n"
-" padding: 8px;\n"
-" background-color: transparent;\n"
-" color: #555555;\n"
-"}\n"
-"\n"
-"QMenuBar::item:selected,\n"
-"QMenuBar::item:pressed {\n"
-" color: #3c3c3c;\n"
-" background-color: #75a7ff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QToolBox */\n"
-"\n"
-"QToolBox::tab {\n"
-" background-color: #f5f5f5;\n"
-" color: #555555;\n"
-" text-transform: uppercase;\n"
-" border-radius: 4px;\n"
-" padding-left: 15px;\n"
-"}\n"
-"\n"
-"QToolBox::tab:selected,\n"
-"QToolBox::tab:hover {\n"
-" background-color: rgba(41, 121, 255, 0.2);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QProgressBar */\n"
-"\n"
-"QProgressBar {\n"
-" border-radius: 0;\n"
-" background-color: #ffffff;\n"
-" text-align: center;\n"
-" color: transparent;\n"
-"}\n"
-"\n"
-"QProgressBar::chunk {\n"
-" background-color: #2979ff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QScrollBar */\n"
-"\n"
-"QScrollBar:horizontal {\n"
-" border: 0;\n"
-" background: #f5f5f5;\n"
-" height: 8px;\n"
-"}\n"
-"\n"
-"QScrollBar:vertical {\n"
-" border: 0;\n"
-" background: #f5f5f5;\n"
-" width: 8px;\n"
-"}\n"
-"\n"
-"QScrollBar::handle {\n"
-" background: rgba(41, 121, 255, 0.1);\n"
-"}\n"
-"\n"
-"QScrollBar::handle:horizontal {\n"
-" min-width: 24px;\n"
-"}\n"
-"\n"
-"QScrollBar::handle:vertical {\n"
-" min-height: 24px;\n"
-"}\n"
-"\n"
-"QScrollBar::handle:vertical:hover,\n"
-"QScrollBar::handle:horizontal:hover {\n"
-" background: #2979ff;\n"
-"}\n"
-"\n"
-"QScrollBar::add-line:vertical,\n"
-"QScrollBar::sub-line:vertical,\n"
-"QScrollBar::add-line:horizontal,\n"
-"QScrollBar::sub-line:horizontal {\n"
-" border: 0;\n"
-" background: transparent;\n"
-" width: 0px;\n"
-" height: 0px;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QScrollBar-Big */\n"
-"\n"
-"QScrollBar.big:horizontal {\n"
-" border: 0;\n"
-" background: #f5f5f5;\n"
-" height: 36px;\n"
-"}\n"
-"\n"
-"QScrollBar.big:vertical {\n"
-" border: 0;\n"
-" background: #f5f5f5;\n"
-" width: 36px;\n"
-"}\n"
-"\n"
-"QScrollBar.big::handle,\n"
-"QScrollBar.big::handle:vertical:hover,\n"
-"QScrollBar.big::handle:horizontal:hover {\n"
-" background: #2979ff;\n"
-"}\n"
-"\n"
-"QScrollBar.big::handle:horizontal {\n"
-" min-width: 24px;\n"
-"}\n"
-"\n"
-"QScrollBar.big::handle:vertical {\n"
-" min-height: 24px;\n"
-"}\n"
-"\n"
-"QScrollBar.big::add-line:vertical,\n"
-"QScrollBar.big::sub-line:vertical,\n"
-"QScrollBar.big::add-line:horizontal,\n"
-"QScrollBar.big::sub-line:horizontal {\n"
-" border: 0;\n"
-" background: transparent;\n"
-" width: 0px;\n"
-" height: 0px;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QSlider */\n"
-"\n"
-"QSlider:horizontal {\n"
-" min-height: 24px;\n"
-" max-height: 24px;\n"
-"}\n"
-"\n"
-"QSlider:vertical {\n"
-" min-width: 24px;\n"
-" max-width: 24px;\n"
-"}\n"
-"\n"
-"QSlider::groove:horizontal {\n"
-" height: 4px;\n"
-" background: #393939;\n"
-" margin: 0 12px;\n"
-"}\n"
-"\n"
-"QSlider::groove:vertical {\n"
-" width: 4px;\n"
-" background: #393939;\n"
-" margin: 12px 0;\n"
-" border-radius: 24px;\n"
-"}\n"
-"\n"
-"QSlider::handle:horizontal {\n"
-" image: url(icon:/primary/slider.svg);\n"
-" width: 24px;\n"
-" height: 24px;\n"
-" margin: -24px -12px;\n"
-"}\n"
-"\n"
-"QSlider::handle:vertical {\n"
-" image: url(icon:/primary/slider.svg);\n"
-" border-radius: 24px;\n"
-" width: 24px;\n"
-" height: 24px;\n"
-" margin: -12px -24px;\n"
-"}\n"
-"\n"
-"QSlider::add-page {\n"
-"background: #f5f5f5;\n"
-"}\n"
-"\n"
-"QSlider::sub-page {\n"
-"background: #2979ff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QLabel */\n"
-"\n"
-"QLabel {\n"
-" border: none;\n"
-" background: transparent;\n"
-" color: #555555\n"
-"}\n"
-"\n"
-"QLabel:disabled {\n"
-" color: rgba(85, 85, 85, 0.2)\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* VLines and HLinex */\n"
-"\n"
-"QFrame[frameShape=\"4\"] {\n"
-" border-width: 1px 0 0 0;\n"
-" background: none;\n"
-"}\n"
-"\n"
-"QFrame[frameShape=\"5\"] {\n"
-" border-width: 0 1px 0 0;\n"
-" background: none;\n"
-"}\n"
-"\n"
-"QFrame[frameShape=\"4\"],\n"
-"QFrame[frameShape=\"5\"] {\n"
-" border-color: #ffffff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QToolBar */\n"
-"\n"
-"QToolBar {\n"
-" background: #e6e6e6;\n"
-" border: 0px solid;\n"
-"}\n"
-"\n"
-"QToolBar:horizontal {\n"
-" border-bottom: 1px solid #ffffff;\n"
-"}\n"
-"\n"
-"QToolBar:vertical {\n"
-" border-right: 1px solid #ffffff;\n"
-"}\n"
-"\n"
-"QToolBar::handle:horizontal {\n"
-" image: url(icon:/primary/toolbar-handle-horizontal.svg);\n"
-"}\n"
-"\n"
-"QToolBar::handle:vertical {\n"
-" image: url(icon:/primary/toolbar-handle-vertical.svg);\n"
-"}\n"
-"\n"
-"QToolBar::separator:horizontal {\n"
-" border-right: 1px solid #ffffff;\n"
-" border-left: 1px solid #ffffff;\n"
-" width: 1px;\n"
-"}\n"
-"\n"
-"QToolBar::separator:vertical {\n"
-" border-top: 1px solid #ffffff;\n"
-" border-bottom: 1px solid #ffffff;\n"
-" height: 1px;\n"
-"}\n"
-"\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QToolButton */\n"
-"\n"
-"QToolButton {\n"
-" background: #e6e6e6;\n"
-" border: 0px;\n"
-" height: 36px;\n"
-" margin: 3px;\n"
-" padding: 3px;\n"
-" border-right: 12px solid #e6e6e6;\n"
-" border-left: 12px solid #e6e6e6;\n"
-"}\n"
-"\n"
-"QToolButton:hover {\n"
-" background: #ffffff;\n"
-" border-right: 12px solid #ffffff;\n"
-" border-left: 12px solid #ffffff;\n"
-"}\n"
-"\n"
-"QToolButton:pressed {\n"
-" background: #f5f5f5;\n"
-" border-right: 12px solid #f5f5f5;\n"
-" border-left: 12px solid #f5f5f5;\n"
-"}\n"
-"\n"
-"QToolButton:checked {\n"
-" background: #ffffff;\n"
-" border-left: 12px solid #ffffff;\n"
-" border-right: 12px solid #2979ff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* General viewers */\n"
-"\n"
-"QTableView {\n"
-" background-color: #e6e6e6;\n"
-" border: 1px solid #f5f5f5;\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"QTreeView,\n"
-"QListView {\n"
-" border-radius: 4px;\n"
-" padding: 4px;\n"
-" margin: 0px;\n"
-" border: 0px;\n"
-"}\n"
-"\n"
-"QTableView::item,\n"
-"QTreeView::item,\n"
-"QListView::item {\n"
-" padding: 4px;\n"
-" min-height: 32px;\n"
-" color: #555555;\n"
-" selection-color: #555555; /* For Windows */\n"
-" border-color: transparent; /* Fix #34 */\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Items Selection */\n"
-"\n"
-"QTableView::item:selected,\n"
-"QTreeView::item:selected,\n"
-"QListView::item:selected {\n"
-" background-color: rgba(41, 121, 255, 0.2);\n"
-" selection-background-color: rgba(41, 121, 255, 0.2);\n"
-" color: #555555;\n"
-" selection-color: #555555; /* For Windows */\n"
-"}\n"
-"\n"
-"QTableView::item:selected:focus,\n"
-"QTreeView::item:selected:focus,\n"
-"QListView::item:selected:focus {\n"
-" background-color: #2979ff;\n"
-" selection-background-color: #2979ff;\n"
-" color: #3c3c3c;\n"
-" selection-color: #3c3c3c; /* For Windows */\n"
-"}\n"
-"\n"
-"QTableView {\n"
-" selection-background-color: rgba(41, 121, 255, 0.2);\n"
-"}\n"
-"\n"
-"QTableView:focus {\n"
-" selection-background-color: #2979ff;\n"
-"}\n"
-"\n"
-"QTableView::item:disabled {\n"
-" color: rgba(85, 85, 85, 0.3);\n"
-" selection-color: rgba(85, 85, 85, 0.3);\n"
-" background-color: #f5f5f5;\n"
-" selection-background-color: #f5f5f5;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QTreeView */\n"
-"\n"
-"QTreeView::branch{\n"
-" background-color: #f5f5f5;\n"
-"}\n"
-"\n"
-"QTreeView::branch:closed:has-children:has-siblings,\n"
-"QTreeView::branch:closed:has-children:!has-siblings {\n"
-" image: url(icon:/primary/branch-closed.svg);\n"
-"}\n"
-"\n"
-"QTreeView::branch:open:has-children:!has-siblings,\n"
-"QTreeView::branch:open:has-children:has-siblings {\n"
-" image: url(icon:/primary/branch-open.svg);\n"
-"}\n"
-"\n"
-"QTreeView::branch:has-siblings:!adjoins-item {\n"
-" border-image: url(icon:/disabled/vline.svg) 0;\n"
-"}\n"
-"\n"
-"QTreeView::branch:has-siblings:adjoins-item {\n"
-" border-image: url(icon:/disabled/branch-more.svg) 0;\n"
-"}\n"
-"\n"
-"QTreeView::branch:!has-children:!has-siblings:adjoins-item,\n"
-"QTreeView::branch:has-children:!has-siblings:adjoins-item {\n"
-" border-image: url(icon:/disabled/branch-end.svg) 0;\n"
-"}\n"
-"\n"
-"QTreeView QHeaderView::section {\n"
-" border: none;\n"
-"}\n"
-"\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Custom buttons */\n"
-"\n"
-"QPushButton.danger {\n"
-" border-color: #dc3545;\n"
-" color: #dc3545;\n"
-"}\n"
-"\n"
-"QPushButton.danger:checked,\n"
-"QPushButton.danger:pressed {\n"
-" color: #e6e6e6;\n"
-" background-color: #dc3545;\n"
-"}\n"
-"\n"
-"QPushButton.warning{\n"
-" border-color: #ffc107;\n"
-" color: #ffc107;\n"
-"}\n"
-"\n"
-"QPushButton.warning:checked,\n"
-"QPushButton.warning:pressed {\n"
-" color: #e6e6e6;\n"
-" background-color: #ffc107;\n"
-"}\n"
-"\n"
-"QPushButton.success {\n"
-" border-color: #17a2b8;\n"
-" color: #17a2b8;\n"
-"}\n"
-"\n"
-"QPushButton.success:checked,\n"
-"QPushButton.success:pressed {\n"
-" color: #e6e6e6;\n"
-" background-color: #17a2b8;\n"
-"}\n"
-"\n"
-"QPushButton.danger:flat:hover {\n"
-" background-color: rgba(220, 53, 69, 0.2);\n"
-"}\n"
-"\n"
-"QPushButton.danger:flat:pressed,\n"
-"QPushButton.danger:flat:checked {\n"
-" background-color: rgba(220, 53, 69, 0.1);\n"
-" color: #dc3545;\n"
-"}\n"
-"\n"
-"QPushButton.warning:flat:hover {\n"
-" background-color: rgba(255, 193, 7, 0.2);\n"
-"}\n"
-"\n"
-"QPushButton.warning:flat:pressed,\n"
-"QPushButton.warning:flat:checked {\n"
-" background-color: rgba(255, 193, 7, 0.1);\n"
-" color: #ffc107;\n"
-"}\n"
-"\n"
-"QPushButton.success:flat:hover {\n"
-" background-color: rgba(23, 162, 184, 0.2);\n"
-"}\n"
-"\n"
-"QPushButton.success:flat:pressed,\n"
-"QPushButton.success:flat:checked {\n"
-" background-color: rgba(23, 162, 184, 0.1);\n"
-" color: #17a2b8;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QTableView */\n"
-"\n"
-"QTableCornerButton::section {\n"
-" background-color: #f5f5f5;\n"
-" border-radius: 0px;\n"
-" border-right: 1px solid;\n"
-" border-bottom: 1px solid;\n"
-" border-color: #e6e6e6;\n"
-"}\n"
-"\n"
-"QTableView {\n"
-" alternate-background-color: rgba(245, 245, 245, 0.7);\n"
-"}\n"
-"\n"
-"QHeaderView {\n"
-" border: none;\n"
-"}\n"
-"\n"
-"QHeaderView::section {\n"
-" color: rgba(85, 85, 85, 0.7);\n"
-" text-transform: uppercase;\n"
-" background-color: #f5f5f5;\n"
-" padding: 0 24px;\n"
-" height: 36px;\n"
-" border-radius: 0px;\n"
-" border-right: 1px solid;\n"
-" border-bottom: 1px solid;\n"
-" border-color: #e6e6e6;\n"
-"}\n"
-"\n"
-"QHeaderView::section:vertical {\n"
-"\n"
-"}\n"
-"\n"
-"QHeaderView::section:horizontal {\n"
-"\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QLCDNumber */\n"
-"\n"
-"QLCDNumber {\n"
-" color: #2979ff;\n"
-" background-color:rgba(41, 121, 255, 0.1);\n"
-" border: 1px solid rgba(41, 121, 255, 0.3);\n"
-" border-radius: 4px;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QCalendarWidget */\n"
-"\n"
-"#qt_calendar_prevmonth {\n"
-" qproperty-icon: url(icon:/primary/leftarrow.svg);\n"
-"}\n"
-"\n"
-"#qt_calendar_nextmonth {\n"
-" qproperty-icon: url(icon:/primary/rightarrow.svg);\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Inline QLineEdit */\n"
-"\n"
-"QTreeView QLineEdit,\n"
-"QTableView QLineEdit,\n"
-"QListView QLineEdit {\n"
-" color: #555555;\n"
-" background-color: #f5f5f5;\n"
-" border: 1px solid unset;\n"
-" border-radius: unset;\n"
-" padding: unset;\n"
-" padding-left: unset;\n"
-" height: unset;\n"
-" border-width: unset;\n"
-" border-top-left-radius: unset;\n"
-" border-top-right-radius: unset;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QToolTip */\n"
-"\n"
-"QToolTip {\n"
-" padding: 4px;\n"
-" border: 1px solid #e6e6e6;\n"
-" border-radius: 4px;\n"
-" color: #555555;\n"
-" background-color: #ffffff;\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* QDialog */\n"
-"\n"
-"\n"
-"\n"
-"QDialog QToolButton:disabled {\n"
-" background-color: #f5f5f5;\n"
-" color: #555555\n"
-"}\n"
-"\n"
-"/* ------------------------------------------------------------------------ */\n"
-"/* Grips */\n"
-"\n"
-"\n"
-"QMainWindow::separator:vertical,\n"
-"QSplitter::handle:horizontal {\n"
-" image: url(icon:/primary/splitter-horizontal.svg);\n"
-"}\n"
-"\n"
-"QMainWindow::separator:horizontal,\n"
-"QSplitter::handle:vertical {\n"
-" image: url(icon:/primary/splitter-vertical.svg);\n"
-"}\n"
-"\n"
-"QSizeGrip {\n"
-" image: url(icon:/primary/sizegrip.svg);\n"
-" background-color: transparent;\n"
-"}\n"
-"\n"
-"QMenuBar QToolButton:hover,\n"
-"QMenuBar QToolButton:pressed,\n"
-"QMenuBar QToolButton {\n"
-" border-width: 0;\n"
-" border-left: 10px;\n"
-" border-image: url(icon:/primary/rightarrow2.svg);\n"
-" background-color: transparent;\n"
-"}")
+ MainWindow.setStyleSheet(
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QtMaterial - https://github.com/UN-GCPDS/qt-material\n"
+ "/* By Yeison Cardona - GCPDS\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "\n"
+ "*{\n"
+ " color: #555555;\n"
+ "\n"
+ " font-family: Roboto;\n"
+ "\n"
+ " \n"
+ " font-size: 13px;\n"
+ " \n"
+ "\n"
+ " \n"
+ " line-height: 13px;\n"
+ " \n"
+ "\n"
+ " selection-background-color: #75a7ff;\n"
+ " selection-color: #3c3c3c;\n"
+ "}\n"
+ "\n"
+ "*:focus {\n"
+ " outline: none;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Custom colors */\n"
+ "\n"
+ ".danger{\n"
+ " color: #dc3545;\n"
+ " background-color: transparent;\n"
+ "}\n"
+ "\n"
+ ".warning{\n"
+ " color: #ffc107;\n"
+ " background-color: transparent;\n"
+ "}\n"
+ "\n"
+ ".success{\n"
+ " color: #17a2b8;\n"
+ " background-color: transparent;\n"
+ "}\n"
+ "\n"
+ ".danger:disabled{\n"
+ " color: rgba(220, 53, 69, 0.4);\n"
+ " border-color: rgba(220, 53, 69, 0.4);\n"
+ "}\n"
+ "\n"
+ ".warning:disabled{\n"
+ " color: rgba(255, 193, 7, 0.4);\n"
+ " border-color: rgba(255, 193, 7, 0.4);\n"
+ "}\n"
+ "\n"
+ ".success:disabled{\n"
+ " color: rgba(23, 162, 184, 0.4);\n"
+ " border-color: rgba(23, 162, 184, 0.4);\n"
+ "}\n"
+ "\n"
+ ".danger:flat:disabled{\n"
+ " background-color: rgba(220, 53, 69, 0.1);\n"
+ "}\n"
+ "\n"
+ ".warning:flat:disabled{\n"
+ " background-color: rgba(255, 193, 7, 0.1);\n"
+ "}\n"
+ "\n"
+ ".success:flat:disabled{\n"
+ " background-color: rgba(23, 162, 184, 0.1);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Basic widgets */\n"
+ "\n"
+ "QWidget {\n"
+ " background-color: #e6e6e6;\n"
+ "}\n"
+ "\n"
+ "QGroupBox,\n"
+ "QFrame {\n"
+ " background-color: #e6e6e6;\n"
+ " border: 2px solid #ffffff;\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "QGroupBox.fill_background,\n"
+ "QFrame.fill_background {\n"
+ " background-color: #f5f5f5;\n"
+ " border: 2px solid #f5f5f5;\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "QSplitter {\n"
+ " background-color: transparent;\n"
+ " border: none\n"
+ "}\n"
+ "\n"
+ "QStatusBar {\n"
+ " color: #555555;\n"
+ " background-color: rgba(255, 255, 255, 0.2);\n"
+ " border-radius: 0px;\n"
+ "}\n"
+ "\n"
+ "QScrollArea,\n"
+ "QStackedWidget,\n"
+ "QWidget > QToolBox,\n"
+ "QToolBox > QWidget,\n"
+ "QTabWidget > QWidget {\n"
+ " border: none;\n"
+ "}\n"
+ "\n"
+ "QTabWidget::pane {\n"
+ " border: none;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Inputs */\n"
+ "\n"
+ "QDateTimeEdit,\n"
+ "QSpinBox,\n"
+ "QDoubleSpinBox,\n"
+ "QTextEdit,\n"
+ "QLineEdit,\n"
+ "QPushButton {\n"
+ " color: #2979ff;\n"
+ " background-color: #e6e6e6;\n"
+ " border: 2px solid #2979ff;\n"
+ " border-radius: 4px;\n"
+ " height: 32px;\n"
+ "}\n"
+ "\n"
+ "QDateTimeEdit,\n"
+ "QSpinBox,\n"
+ "QDoubleSpinBox,\n"
+ "QTreeView,\n"
+ "QListView,\n"
+ "QLineEdit,\n"
+ "QComboBox {\n"
+ " padding-left: 16px;\n"
+ " border-radius: 0px;\n"
+ " background-color: #f5f5f5;\n"
+ " border-width: 0 0 2px 0;\n"
+ " border-radius: 0px;\n"
+ " border-top-left-radius: 4px;\n"
+ " border-top-right-radius: 4px;\n"
+ " height: 32px;\n"
+ "}\n"
+ "\n"
+ "QPlainTextEdit {\n"
+ " border-radius: 4px;\n"
+ " padding: 8px 16px;\n"
+ " background-color: #e6e6e6;\n"
+ " border: 2px solid #ffffff;\n"
+ "}\n"
+ "\n"
+ "QTextEdit {\n"
+ " padding: 8px 16px;\n"
+ " border-radius: 4px;\n"
+ " background-color: #f5f5f5;\n"
+ "}\n"
+ "\n"
+ "QDateTimeEdit:disabled,\n"
+ "QSpinBox:disabled,\n"
+ "QDoubleSpinBox:disabled,\n"
+ "QTextEdit:disabled,\n"
+ "QLineEdit:disabled {\n"
+ " color: rgba(41, 121, 255, 0.2);\n"
+ " background-color: rgba(245, 245, 245, 0.75);\n"
+ " border: 2px solid rgba(41, 121, 255, 0.2);\n"
+ " border-width: 0 0 2px 0;\n"
+ " padding: 0px 16px;\n"
+ " border-radius: 0px;\n"
+ " border-top-left-radius: 4px;\n"
+ " border-top-right-radius: 4px;\n"
+ " height: 32px;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QComboBox */\n"
+ "\n"
+ "QComboBox {\n"
+ " color: #2979ff;\n"
+ " border: 1px solid #2979ff;\n"
+ " border-width: 0 0 2px 0;\n"
+ " background-color: #f5f5f5;\n"
+ " border-radius: 0px;\n"
+ " border-top-left-radius: 4px;\n"
+ " border-top-right-radius: 4px;\n"
+ " height: 32px;\n"
+ "}\n"
+ "\n"
+ "QComboBox:disabled {\n"
+ " color: rgba(41, 121, 255, 0.2);\n"
+ " background-color: rgba(245, 245, 245, 0.75);\n"
+ " border-bottom: 2px solid rgba(41, 121, 255, 0.2);\n"
+ "}\n"
+ "\n"
+ "QComboBox::drop-down {\n"
+ " border: none;\n"
+ " color: #2979ff;\n"
+ " width: 20px;\n"
+ "}\n"
+ "\n"
+ "QComboBox::down-arrow {\n"
+ " image: url(icon:/primary/downarrow.svg);\n"
+ " margin-right: 12px;\n"
+ "}\n"
+ "\n"
+ "QComboBox::down-arrow:disabled {\n"
+ " image: url(icon:/disabled/downarrow.svg);\n"
+ " margin-right: 12px;\n"
+ "}\n"
+ "\n"
+ "QComboBox QAbstractItemView {\n"
+ " background-color: #f5f5f5;\n"
+ " border: 2px solid #ffffff;\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "QComboBox[frame='false'] {\n"
+ " color: #2979ff;\n"
+ " background-color: transparent;\n"
+ " border: 1px solid transparent;\n"
+ "}\n"
+ "QComboBox[frame='false']:disabled {\n"
+ " color: rgba(41, 121, 255, 0.2);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Spin buttons */\n"
+ "\n"
+ "QDateTimeEdit::up-button,\n"
+ "QDoubleSpinBox::up-button,\n"
+ "QSpinBox::up-button {\n"
+ " subcontrol-origin: border;\n"
+ " subcontrol-position: top right;\n"
+ " width: 20px;\n"
+ " image: url(icon:/primary/uparrow.svg);\n"
+ " border-width: 0px;\n"
+ " margin-right: 5px;\n"
+ "}\n"
+ "\n"
+ "QDateTimeEdit::up-button:disabled,\n"
+ "QDoubleSpinBox::up-button:disabled,\n"
+ "QSpinBox::up-button:disabled {\n"
+ " image: url(icon:/disabled/uparrow.svg);\n"
+ "}\n"
+ "\n"
+ "QDateTimeEdit::down-button,\n"
+ "QDoubleSpinBox::down-button,\n"
+ "QSpinBox::down-button {\n"
+ " subcontrol-origin: border;\n"
+ " subcontrol-position: bottom right;\n"
+ " width: 20px;\n"
+ " image: url(icon:/primary/downarrow.svg);\n"
+ " border-width: 0px;\n"
+ " border-top-width: 0;\n"
+ " margin-right: 5px;\n"
+ "}\n"
+ "\n"
+ "QDateTimeEdit::down-button:disabled,\n"
+ "QDoubleSpinBox::down-button:disabled,\n"
+ "QSpinBox::down-button:disabled {\n"
+ " image: url(icon:/disabled/downarrow.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QPushButton */\n"
+ "\n"
+ "QPushButton {\n"
+ " text-transform: uppercase;\n"
+ " margin: 0px;\n"
+ " padding: 1px 16px;\n"
+ " height: 32px;\n"
+ " font-weight: bold;\n"
+ "\n"
+ " \n"
+ " border-radius: 4px;\n"
+ " \n"
+ "\n"
+ "\n"
+ "}\n"
+ "\n"
+ "QPushButton:checked,\n"
+ "QPushButton:pressed {\n"
+ " color: #e6e6e6;\n"
+ " background-color: #2979ff;\n"
+ "}\n"
+ "\n"
+ "QPushButton:flat {\n"
+ " margin: 0px;\n"
+ " color: #2979ff;\n"
+ " border: none;\n"
+ " background-color: transparent;\n"
+ "}\n"
+ "\n"
+ "QPushButton:flat:hover {\n"
+ " background-color: rgba(41, 121, 255, 0.2);\n"
+ "}\n"
+ "\n"
+ "QPushButton:flat:pressed,\n"
+ "QPushButton:flat:checked {\n"
+ " background-color: rgba(41, 121, 255, 0.1);\n"
+ "}\n"
+ "\n"
+ "QPushButton:disabled {\n"
+ " color: rgba(255, 255, 255, 0.75);\n"
+ " background-color: transparent;\n"
+ " border-color: #ffffff;\n"
+ "}\n"
+ "\n"
+ "QPushButton:flat:disabled {\n"
+ " color: rgba(255, 255, 255, 0.75);\n"
+ " background-color: rgba(255, 255, 255, 0.25);\n"
+ " border: none;\n"
+ "}\n"
+ "\n"
+ "QPushButton:disabled {\n"
+ " border: 2px solid rgba(255, 255, 255, 0.75);\n"
+ "}\n"
+ "\n"
+ "QPushButton:checked:disabled {\n"
+ " color: #f5f5f5;\n"
+ " background-color: #ffffff;\n"
+ " border-color: #ffffff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QTabBar */\n"
+ "\n"
+ "QTabBar{\n"
+ " text-transform: uppercase;\n"
+ " font-weight: bold;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab {\n"
+ " color: #555555;\n"
+ " border: 0px;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab:bottom,\n"
+ "QTabBar::tab:top{\n"
+ " padding: 0 16px;\n"
+ " height: 28px;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab:left,\n"
+ "QTabBar::tab:right{\n"
+ " padding: 16px 0;\n"
+ " width: 28px;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab:top:selected,\n"
+ "QTabBar::tab:top:hover {\n"
+ " color: #2979ff;\n"
+ " border-bottom: 2px solid #2979ff;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab:bottom:selected,\n"
+ "QTabBar::tab:bottom:hover {\n"
+ " color: #2979ff;\n"
+ " border-top: 2px solid #2979ff;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab:right:selected,\n"
+ "QTabBar::tab:right:hover {\n"
+ " color: #2979ff;\n"
+ " border-left: 2px solid #2979ff;\n"
+ "}\n"
+ "\n"
+ "QTabBar::tab:left:selected,\n"
+ "QTabBar::tab:left:hover {\n"
+ " color: #2979ff;\n"
+ " border-right: 2px solid #2979ff;\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton:hover,\n"
+ "QTabBar QToolButton {\n"
+ " border: 20px;\n"
+ " background-color: #e6e6e6;\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::up-arrow {\n"
+ " image: url(icon:/disabled/uparrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::up-arrow:hover {\n"
+ " image: url(icon:/primary/uparrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::down-arrow {\n"
+ " image: url(icon:/disabled/downarrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::down-arrow:hover {\n"
+ " image: url(icon:/primary/downarrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::right-arrow {\n"
+ " image: url(icon:/primary/rightarrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::right-arrow:hover {\n"
+ " image: url(icon:/disabled/rightarrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::left-arrow {\n"
+ " image: url(icon:/primary/leftarrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar QToolButton::left-arrow:hover {\n"
+ " image: url(icon:/disabled/leftarrow2.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar::close-button {\n"
+ " image: url(icon:/disabled/tab_close.svg);\n"
+ "}\n"
+ "\n"
+ "QTabBar::close-button:hover {\n"
+ " image: url(icon:/primary/tab_close.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QGroupBox */\n"
+ "\n"
+ "QGroupBox {\n"
+ " padding: 16px;\n"
+ " padding-top: 36px;\n"
+ " line-height: ;\n"
+ " text-transform: uppercase;\n"
+ " font-size: ;\n"
+ "}\n"
+ "\n"
+ "QGroupBox::title {\n"
+ " color: rgba(85, 85, 85, 0.4);\n"
+ " subcontrol-origin: margin;\n"
+ " subcontrol-position: top left;\n"
+ " padding: 16px;\n"
+ " background-color: #e6e6e6;\n"
+ " background-color: transparent;\n"
+ " height: 36px;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QRadioButton and QCheckBox labels */\n"
+ "\n"
+ "QRadioButton,\n"
+ "QCheckBox {\n"
+ " spacing: 12px;\n"
+ " color: #555555;\n"
+ " line-height: 14px;\n"
+ " height: 36px;\n"
+ " background-color: transparent;\n"
+ " spacing: 5px;\n"
+ "}\n"
+ "\n"
+ "QRadioButton:disabled,\n"
+ "QCheckBox:disabled {\n"
+ " color: rgba(85, 85, 85, 0.3);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* General Indicators */\n"
+ "\n"
+ "QGroupBox::indicator {\n"
+ " width: 24px;\n"
+ " height: 24px;\n"
+ " border-radius: 3px;\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator,\n"
+ "QListView::indicator,\n"
+ "QTableWidget::indicator,\n"
+ "QRadioButton::indicator,\n"
+ "QCheckBox::indicator {\n"
+ " width: 28px;\n"
+ " height: 28px;\n"
+ " border-radius: 4px;\n"
+ " }\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QListView Indicator */\n"
+ "\n"
+ "QListView::indicator:checked,\n"
+ "QListView::indicator:checked:selected,\n"
+ "QListView::indicator:checked:focus {\n"
+ " image: url(icon:/primary/checklist.svg);\n"
+ "}\n"
+ "\n"
+ "QListView::indicator:checked:selected:active {\n"
+ " image: url(icon:/primary/checklist_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QListView::indicator:checked:disabled {\n"
+ " image: url(icon:/disabled/checklist.svg);\n"
+ "}\n"
+ "\n"
+ "QListView::indicator:indeterminate,\n"
+ "QListView::indicator:indeterminate:selected,\n"
+ "QListView::indicator:indeterminate:focus {\n"
+ " image: url(icon:/primary/checklist_indeterminate.svg);\n"
+ "}\n"
+ "\n"
+ "QListView::indicator:indeterminate:selected:active {\n"
+ " image: url(icon:/primary/checklist_indeterminate_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QListView::indicator:indeterminate:disabled {\n"
+ " image: url(icon:/disabled/checklist_indeterminate.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QTableView Indicator */\n"
+ "\n"
+ "QTableView::indicator:enabled:checked,\n"
+ "QTableView::indicator:enabled:checked:selected,\n"
+ "QTableView::indicator:enabled:checked:focus {\n"
+ " image: url(icon:/primary/checkbox_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:checked:selected:active {\n"
+ " image: url(icon:/primary/checkbox_checked_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:disabled:checked,\n"
+ "QTableView::indicator:disabled:checked:selected,\n"
+ "QTableView::indicator:disabled:checked:focus {\n"
+ " image: url(icon:/disabled/checkbox_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:enabled:unchecked,\n"
+ "QTableView::indicator:enabled:unchecked:selected,\n"
+ "QTableView::indicator:enabled:unchecked:focus {\n"
+ " image: url(icon:/primary/checkbox_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:unchecked:selected:active {\n"
+ " image: url(icon:/primary/checkbox_unchecked_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:disabled:unchecked,\n"
+ "QTableView::indicator:disabled:unchecked:selected,\n"
+ "QTableView::indicator:disabled:unchecked:focus {\n"
+ " image: url(icon:/disabled/checkbox_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:enabled:indeterminate,\n"
+ "QTableView::indicator:enabled:indeterminate:selected,\n"
+ "QTableView::indicator:enabled:indeterminate:focus {\n"
+ " image: url(icon:/primary/checkbox_indeterminate.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:indeterminate:selected:active {\n"
+ " image: url(icon:/primary/checkbox_indeterminate_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QTableView::indicator:disabled:indeterminate,\n"
+ "QTableView::indicator:disabled:indeterminate:selected,\n"
+ "QTableView::indicator:disabled:indeterminate:focus {\n"
+ " image: url(icon:/disabled/checkbox_indeterminate.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QCheckBox and QGroupBox Indicator */\n"
+ "\n"
+ "QCheckBox::indicator:checked,\n"
+ "QGroupBox::indicator:checked {\n"
+ " image: url(icon:/primary/checkbox_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QCheckBox::indicator:unchecked,\n"
+ "QGroupBox::indicator:unchecked {\n"
+ " image: url(icon:/primary/checkbox_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QCheckBox::indicator:indeterminate,\n"
+ "QGroupBox::indicator:indeterminate {\n"
+ " image: url(icon:/primary/checkbox_indeterminate.svg);\n"
+ "}\n"
+ "\n"
+ "QCheckBox::indicator:checked:disabled,\n"
+ "QGroupBox::indicator:checked:disabled {\n"
+ " image: url(icon:/disabled/checkbox_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QCheckBox::indicator:unchecked:disabled,\n"
+ "QGroupBox::indicator:unchecked:disabled {\n"
+ " image: url(icon:/disabled/checkbox_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QCheckBox::indicator:indeterminate:disabled,\n"
+ "QGroupBox::indicator:indeterminate:disabled {\n"
+ " image: url(icon:/disabled/checkbox_indeterminate.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QRadioButton Indicator */\n"
+ "\n"
+ "QRadioButton::indicator:checked {\n"
+ " image: url(icon:/primary/radiobutton_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QRadioButton::indicator:unchecked {\n"
+ " image: url(icon:/primary/radiobutton_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QRadioButton::indicator:checked:disabled {\n"
+ " image: url(icon:/disabled/radiobutton_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QRadioButton::indicator:unchecked:disabled {\n"
+ " image: url(icon:/disabled/radiobutton_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QDockWidget */\n"
+ "\n"
+ "QDockWidget {\n"
+ " color: #555555;\n"
+ " text-transform: uppercase;\n"
+ " border: 2px solid #f5f5f5;\n"
+ " titlebar-close-icon: url(icon:/primary/close.svg);\n"
+ " titlebar-normal-icon: url(icon:/primary/float.svg);\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "QDockWidget::title {\n"
+ " text-align: left;\n"
+ " padding-left: 36px;\n"
+ " padding: 3px;\n"
+ " margin-top: 4px;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QComboBox indicator */\n"
+ "\n"
+ "QComboBox::indicator:checked {\n"
+ " image: url(icon:/primary/checklist.svg);\n"
+ "}\n"
+ "\n"
+ "QComboBox::indicator:checked:selected {\n"
+ " image: url(icon:/primary/checklist_invert.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Menu Items */\n"
+ "\n"
+ "QComboBox::item,\n"
+ "QCalendarWidget QMenu::item,\n"
+ "QMenu::item {\n"
+ " \n"
+ " height: 28px;\n"
+ " \n"
+ " border: 8px solid transparent;\n"
+ " color: #555555;\n"
+ "}\n"
+ "\n"
+ "QCalendarWidget QMenu::item,\n"
+ "QMenu::item {\n"
+ " \n"
+ " \n"
+ " \n"
+ "}\n"
+ "\n"
+ "\n"
+ "QComboBox::item:selected,\n"
+ "QCalendarWidget QMenu::item:selected,\n"
+ "QMenu::item:selected {\n"
+ " color: #3c3c3c;\n"
+ " background-color: #75a7ff;\n"
+ " border-radius: 0px;\n"
+ "}\n"
+ "\n"
+ "QComboBox::item:disabled,\n"
+ "QCalendarWidget QMenu::item:disabled,\n"
+ "QMenu::item:disabled {\n"
+ " color: rgba(85, 85, 85, 0.3);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QMenu */\n"
+ "\n"
+ "QCalendarWidget QMenu,\n"
+ "QMenu {\n"
+ " background-color: #f5f5f5;\n"
+ " border: 2px solid #ffffff;\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "QMenu::separator {\n"
+ " height: 2px;\n"
+ " background-color: #ffffff;\n"
+ " margin-left: 2px;\n"
+ " margin-right: 2px;\n"
+ "}\n"
+ "\n"
+ "QMenu::right-arrow{\n"
+ " image: url(icon:/primary/rightarrow.svg);\n"
+ " width: 16px;\n"
+ " height: 16px;\n"
+ "}\n"
+ "\n"
+ "QMenu::right-arrow:selected{\n"
+ " image: url(icon:/disabled/rightarrow.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:non-exclusive:unchecked {\n"
+ " image: url(icon:/primary/checkbox_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:non-exclusive:unchecked:selected {\n"
+ " image: url(icon:/primary/checkbox_unchecked_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:non-exclusive:checked {\n"
+ " image: url(icon:/primary/checkbox_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:non-exclusive:checked:selected {\n"
+ " image: url(icon:/primary/checkbox_checked_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:exclusive:unchecked {\n"
+ " image: url(icon:/primary/radiobutton_unchecked.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:exclusive:unchecked:selected {\n"
+ " image: url(icon:/primary/radiobutton_unchecked_invert.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:exclusive:checked {\n"
+ " image: url(icon:/primary/radiobutton_checked.svg);\n"
+ "}\n"
+ "\n"
+ "QMenu::indicator:exclusive:checked:selected {\n"
+ " image: url(icon:/primary/radiobutton_checked_invert.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QMenuBar */\n"
+ "\n"
+ "QMenuBar {\n"
+ " background-color: #f5f5f5;\n"
+ " color: #555555;\n"
+ "}\n"
+ "\n"
+ "QMenuBar::item {\n"
+ " height: 32px;\n"
+ " padding: 8px;\n"
+ " background-color: transparent;\n"
+ " color: #555555;\n"
+ "}\n"
+ "\n"
+ "QMenuBar::item:selected,\n"
+ "QMenuBar::item:pressed {\n"
+ " color: #3c3c3c;\n"
+ " background-color: #75a7ff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QToolBox */\n"
+ "\n"
+ "QToolBox::tab {\n"
+ " background-color: #f5f5f5;\n"
+ " color: #555555;\n"
+ " text-transform: uppercase;\n"
+ " border-radius: 4px;\n"
+ " padding-left: 15px;\n"
+ "}\n"
+ "\n"
+ "QToolBox::tab:selected,\n"
+ "QToolBox::tab:hover {\n"
+ " background-color: rgba(41, 121, 255, 0.2);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QProgressBar */\n"
+ "\n"
+ "QProgressBar {\n"
+ " border-radius: 0;\n"
+ " background-color: #ffffff;\n"
+ " text-align: center;\n"
+ " color: transparent;\n"
+ "}\n"
+ "\n"
+ "QProgressBar::chunk {\n"
+ " background-color: #2979ff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QScrollBar */\n"
+ "\n"
+ "QScrollBar:horizontal {\n"
+ " border: 0;\n"
+ " background: #f5f5f5;\n"
+ " height: 8px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar:vertical {\n"
+ " border: 0;\n"
+ " background: #f5f5f5;\n"
+ " width: 8px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar::handle {\n"
+ " background: rgba(41, 121, 255, 0.1);\n"
+ "}\n"
+ "\n"
+ "QScrollBar::handle:horizontal {\n"
+ " min-width: 24px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar::handle:vertical {\n"
+ " min-height: 24px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar::handle:vertical:hover,\n"
+ "QScrollBar::handle:horizontal:hover {\n"
+ " background: #2979ff;\n"
+ "}\n"
+ "\n"
+ "QScrollBar::add-line:vertical,\n"
+ "QScrollBar::sub-line:vertical,\n"
+ "QScrollBar::add-line:horizontal,\n"
+ "QScrollBar::sub-line:horizontal {\n"
+ " border: 0;\n"
+ " background: transparent;\n"
+ " width: 0px;\n"
+ " height: 0px;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QScrollBar-Big */\n"
+ "\n"
+ "QScrollBar.big:horizontal {\n"
+ " border: 0;\n"
+ " background: #f5f5f5;\n"
+ " height: 36px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar.big:vertical {\n"
+ " border: 0;\n"
+ " background: #f5f5f5;\n"
+ " width: 36px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar.big::handle,\n"
+ "QScrollBar.big::handle:vertical:hover,\n"
+ "QScrollBar.big::handle:horizontal:hover {\n"
+ " background: #2979ff;\n"
+ "}\n"
+ "\n"
+ "QScrollBar.big::handle:horizontal {\n"
+ " min-width: 24px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar.big::handle:vertical {\n"
+ " min-height: 24px;\n"
+ "}\n"
+ "\n"
+ "QScrollBar.big::add-line:vertical,\n"
+ "QScrollBar.big::sub-line:vertical,\n"
+ "QScrollBar.big::add-line:horizontal,\n"
+ "QScrollBar.big::sub-line:horizontal {\n"
+ " border: 0;\n"
+ " background: transparent;\n"
+ " width: 0px;\n"
+ " height: 0px;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QSlider */\n"
+ "\n"
+ "QSlider:horizontal {\n"
+ " min-height: 24px;\n"
+ " max-height: 24px;\n"
+ "}\n"
+ "\n"
+ "QSlider:vertical {\n"
+ " min-width: 24px;\n"
+ " max-width: 24px;\n"
+ "}\n"
+ "\n"
+ "QSlider::groove:horizontal {\n"
+ " height: 4px;\n"
+ " background: #393939;\n"
+ " margin: 0 12px;\n"
+ "}\n"
+ "\n"
+ "QSlider::groove:vertical {\n"
+ " width: 4px;\n"
+ " background: #393939;\n"
+ " margin: 12px 0;\n"
+ " border-radius: 24px;\n"
+ "}\n"
+ "\n"
+ "QSlider::handle:horizontal {\n"
+ " image: url(icon:/primary/slider.svg);\n"
+ " width: 24px;\n"
+ " height: 24px;\n"
+ " margin: -24px -12px;\n"
+ "}\n"
+ "\n"
+ "QSlider::handle:vertical {\n"
+ " image: url(icon:/primary/slider.svg);\n"
+ " border-radius: 24px;\n"
+ " width: 24px;\n"
+ " height: 24px;\n"
+ " margin: -12px -24px;\n"
+ "}\n"
+ "\n"
+ "QSlider::add-page {\n"
+ "background: #f5f5f5;\n"
+ "}\n"
+ "\n"
+ "QSlider::sub-page {\n"
+ "background: #2979ff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QLabel */\n"
+ "\n"
+ "QLabel {\n"
+ " border: none;\n"
+ " background: transparent;\n"
+ " color: #555555\n"
+ "}\n"
+ "\n"
+ "QLabel:disabled {\n"
+ " color: rgba(85, 85, 85, 0.2)\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* VLines and HLinex */\n"
+ "\n"
+ 'QFrame[frameShape="4"] {\n'
+ " border-width: 1px 0 0 0;\n"
+ " background: none;\n"
+ "}\n"
+ "\n"
+ 'QFrame[frameShape="5"] {\n'
+ " border-width: 0 1px 0 0;\n"
+ " background: none;\n"
+ "}\n"
+ "\n"
+ 'QFrame[frameShape="4"],\n'
+ 'QFrame[frameShape="5"] {\n'
+ " border-color: #ffffff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QToolBar */\n"
+ "\n"
+ "QToolBar {\n"
+ " background: #e6e6e6;\n"
+ " border: 0px solid;\n"
+ "}\n"
+ "\n"
+ "QToolBar:horizontal {\n"
+ " border-bottom: 1px solid #ffffff;\n"
+ "}\n"
+ "\n"
+ "QToolBar:vertical {\n"
+ " border-right: 1px solid #ffffff;\n"
+ "}\n"
+ "\n"
+ "QToolBar::handle:horizontal {\n"
+ " image: url(icon:/primary/toolbar-handle-horizontal.svg);\n"
+ "}\n"
+ "\n"
+ "QToolBar::handle:vertical {\n"
+ " image: url(icon:/primary/toolbar-handle-vertical.svg);\n"
+ "}\n"
+ "\n"
+ "QToolBar::separator:horizontal {\n"
+ " border-right: 1px solid #ffffff;\n"
+ " border-left: 1px solid #ffffff;\n"
+ " width: 1px;\n"
+ "}\n"
+ "\n"
+ "QToolBar::separator:vertical {\n"
+ " border-top: 1px solid #ffffff;\n"
+ " border-bottom: 1px solid #ffffff;\n"
+ " height: 1px;\n"
+ "}\n"
+ "\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QToolButton */\n"
+ "\n"
+ "QToolButton {\n"
+ " background: #e6e6e6;\n"
+ " border: 0px;\n"
+ " height: 36px;\n"
+ " margin: 3px;\n"
+ " padding: 3px;\n"
+ " border-right: 12px solid #e6e6e6;\n"
+ " border-left: 12px solid #e6e6e6;\n"
+ "}\n"
+ "\n"
+ "QToolButton:hover {\n"
+ " background: #ffffff;\n"
+ " border-right: 12px solid #ffffff;\n"
+ " border-left: 12px solid #ffffff;\n"
+ "}\n"
+ "\n"
+ "QToolButton:pressed {\n"
+ " background: #f5f5f5;\n"
+ " border-right: 12px solid #f5f5f5;\n"
+ " border-left: 12px solid #f5f5f5;\n"
+ "}\n"
+ "\n"
+ "QToolButton:checked {\n"
+ " background: #ffffff;\n"
+ " border-left: 12px solid #ffffff;\n"
+ " border-right: 12px solid #2979ff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* General viewers */\n"
+ "\n"
+ "QTableView {\n"
+ " background-color: #e6e6e6;\n"
+ " border: 1px solid #f5f5f5;\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "QTreeView,\n"
+ "QListView {\n"
+ " border-radius: 4px;\n"
+ " padding: 4px;\n"
+ " margin: 0px;\n"
+ " border: 0px;\n"
+ "}\n"
+ "\n"
+ "QTableView::item,\n"
+ "QTreeView::item,\n"
+ "QListView::item {\n"
+ " padding: 4px;\n"
+ " min-height: 32px;\n"
+ " color: #555555;\n"
+ " selection-color: #555555; /* For Windows */\n"
+ " border-color: transparent; /* Fix #34 */\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Items Selection */\n"
+ "\n"
+ "QTableView::item:selected,\n"
+ "QTreeView::item:selected,\n"
+ "QListView::item:selected {\n"
+ " background-color: rgba(41, 121, 255, 0.2);\n"
+ " selection-background-color: rgba(41, 121, 255, 0.2);\n"
+ " color: #555555;\n"
+ " selection-color: #555555; /* For Windows */\n"
+ "}\n"
+ "\n"
+ "QTableView::item:selected:focus,\n"
+ "QTreeView::item:selected:focus,\n"
+ "QListView::item:selected:focus {\n"
+ " background-color: #2979ff;\n"
+ " selection-background-color: #2979ff;\n"
+ " color: #3c3c3c;\n"
+ " selection-color: #3c3c3c; /* For Windows */\n"
+ "}\n"
+ "\n"
+ "QTableView {\n"
+ " selection-background-color: rgba(41, 121, 255, 0.2);\n"
+ "}\n"
+ "\n"
+ "QTableView:focus {\n"
+ " selection-background-color: #2979ff;\n"
+ "}\n"
+ "\n"
+ "QTableView::item:disabled {\n"
+ " color: rgba(85, 85, 85, 0.3);\n"
+ " selection-color: rgba(85, 85, 85, 0.3);\n"
+ " background-color: #f5f5f5;\n"
+ " selection-background-color: #f5f5f5;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QTreeView */\n"
+ "\n"
+ "QTreeView::branch{\n"
+ " background-color: #f5f5f5;\n"
+ "}\n"
+ "\n"
+ "QTreeView::branch:closed:has-children:has-siblings,\n"
+ "QTreeView::branch:closed:has-children:!has-siblings {\n"
+ " image: url(icon:/primary/branch-closed.svg);\n"
+ "}\n"
+ "\n"
+ "QTreeView::branch:open:has-children:!has-siblings,\n"
+ "QTreeView::branch:open:has-children:has-siblings {\n"
+ " image: url(icon:/primary/branch-open.svg);\n"
+ "}\n"
+ "\n"
+ "QTreeView::branch:has-siblings:!adjoins-item {\n"
+ " border-image: url(icon:/disabled/vline.svg) 0;\n"
+ "}\n"
+ "\n"
+ "QTreeView::branch:has-siblings:adjoins-item {\n"
+ " border-image: url(icon:/disabled/branch-more.svg) 0;\n"
+ "}\n"
+ "\n"
+ "QTreeView::branch:!has-children:!has-siblings:adjoins-item,\n"
+ "QTreeView::branch:has-children:!has-siblings:adjoins-item {\n"
+ " border-image: url(icon:/disabled/branch-end.svg) 0;\n"
+ "}\n"
+ "\n"
+ "QTreeView QHeaderView::section {\n"
+ " border: none;\n"
+ "}\n"
+ "\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Custom buttons */\n"
+ "\n"
+ "QPushButton.danger {\n"
+ " border-color: #dc3545;\n"
+ " color: #dc3545;\n"
+ "}\n"
+ "\n"
+ "QPushButton.danger:checked,\n"
+ "QPushButton.danger:pressed {\n"
+ " color: #e6e6e6;\n"
+ " background-color: #dc3545;\n"
+ "}\n"
+ "\n"
+ "QPushButton.warning{\n"
+ " border-color: #ffc107;\n"
+ " color: #ffc107;\n"
+ "}\n"
+ "\n"
+ "QPushButton.warning:checked,\n"
+ "QPushButton.warning:pressed {\n"
+ " color: #e6e6e6;\n"
+ " background-color: #ffc107;\n"
+ "}\n"
+ "\n"
+ "QPushButton.success {\n"
+ " border-color: #17a2b8;\n"
+ " color: #17a2b8;\n"
+ "}\n"
+ "\n"
+ "QPushButton.success:checked,\n"
+ "QPushButton.success:pressed {\n"
+ " color: #e6e6e6;\n"
+ " background-color: #17a2b8;\n"
+ "}\n"
+ "\n"
+ "QPushButton.danger:flat:hover {\n"
+ " background-color: rgba(220, 53, 69, 0.2);\n"
+ "}\n"
+ "\n"
+ "QPushButton.danger:flat:pressed,\n"
+ "QPushButton.danger:flat:checked {\n"
+ " background-color: rgba(220, 53, 69, 0.1);\n"
+ " color: #dc3545;\n"
+ "}\n"
+ "\n"
+ "QPushButton.warning:flat:hover {\n"
+ " background-color: rgba(255, 193, 7, 0.2);\n"
+ "}\n"
+ "\n"
+ "QPushButton.warning:flat:pressed,\n"
+ "QPushButton.warning:flat:checked {\n"
+ " background-color: rgba(255, 193, 7, 0.1);\n"
+ " color: #ffc107;\n"
+ "}\n"
+ "\n"
+ "QPushButton.success:flat:hover {\n"
+ " background-color: rgba(23, 162, 184, 0.2);\n"
+ "}\n"
+ "\n"
+ "QPushButton.success:flat:pressed,\n"
+ "QPushButton.success:flat:checked {\n"
+ " background-color: rgba(23, 162, 184, 0.1);\n"
+ " color: #17a2b8;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QTableView */\n"
+ "\n"
+ "QTableCornerButton::section {\n"
+ " background-color: #f5f5f5;\n"
+ " border-radius: 0px;\n"
+ " border-right: 1px solid;\n"
+ " border-bottom: 1px solid;\n"
+ " border-color: #e6e6e6;\n"
+ "}\n"
+ "\n"
+ "QTableView {\n"
+ " alternate-background-color: rgba(245, 245, 245, 0.7);\n"
+ "}\n"
+ "\n"
+ "QHeaderView {\n"
+ " border: none;\n"
+ "}\n"
+ "\n"
+ "QHeaderView::section {\n"
+ " color: rgba(85, 85, 85, 0.7);\n"
+ " text-transform: uppercase;\n"
+ " background-color: #f5f5f5;\n"
+ " padding: 0 24px;\n"
+ " height: 36px;\n"
+ " border-radius: 0px;\n"
+ " border-right: 1px solid;\n"
+ " border-bottom: 1px solid;\n"
+ " border-color: #e6e6e6;\n"
+ "}\n"
+ "\n"
+ "QHeaderView::section:vertical {\n"
+ "\n"
+ "}\n"
+ "\n"
+ "QHeaderView::section:horizontal {\n"
+ "\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QLCDNumber */\n"
+ "\n"
+ "QLCDNumber {\n"
+ " color: #2979ff;\n"
+ " background-color:rgba(41, 121, 255, 0.1);\n"
+ " border: 1px solid rgba(41, 121, 255, 0.3);\n"
+ " border-radius: 4px;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QCalendarWidget */\n"
+ "\n"
+ "#qt_calendar_prevmonth {\n"
+ " qproperty-icon: url(icon:/primary/leftarrow.svg);\n"
+ "}\n"
+ "\n"
+ "#qt_calendar_nextmonth {\n"
+ " qproperty-icon: url(icon:/primary/rightarrow.svg);\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Inline QLineEdit */\n"
+ "\n"
+ "QTreeView QLineEdit,\n"
+ "QTableView QLineEdit,\n"
+ "QListView QLineEdit {\n"
+ " color: #555555;\n"
+ " background-color: #f5f5f5;\n"
+ " border: 1px solid unset;\n"
+ " border-radius: unset;\n"
+ " padding: unset;\n"
+ " padding-left: unset;\n"
+ " height: unset;\n"
+ " border-width: unset;\n"
+ " border-top-left-radius: unset;\n"
+ " border-top-right-radius: unset;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QToolTip */\n"
+ "\n"
+ "QToolTip {\n"
+ " padding: 4px;\n"
+ " border: 1px solid #e6e6e6;\n"
+ " border-radius: 4px;\n"
+ " color: #555555;\n"
+ " background-color: #ffffff;\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* QDialog */\n"
+ "\n"
+ "\n"
+ "\n"
+ "QDialog QToolButton:disabled {\n"
+ " background-color: #f5f5f5;\n"
+ " color: #555555\n"
+ "}\n"
+ "\n"
+ "/* ------------------------------------------------------------------------ */\n"
+ "/* Grips */\n"
+ "\n"
+ "\n"
+ "QMainWindow::separator:vertical,\n"
+ "QSplitter::handle:horizontal {\n"
+ " image: url(icon:/primary/splitter-horizontal.svg);\n"
+ "}\n"
+ "\n"
+ "QMainWindow::separator:horizontal,\n"
+ "QSplitter::handle:vertical {\n"
+ " image: url(icon:/primary/splitter-vertical.svg);\n"
+ "}\n"
+ "\n"
+ "QSizeGrip {\n"
+ " image: url(icon:/primary/sizegrip.svg);\n"
+ " background-color: transparent;\n"
+ "}\n"
+ "\n"
+ "QMenuBar QToolButton:hover,\n"
+ "QMenuBar QToolButton:pressed,\n"
+ "QMenuBar QToolButton {\n"
+ " border-width: 0;\n"
+ " border-left: 10px;\n"
+ " border-image: url(icon:/primary/rightarrow2.svg);\n"
+ " background-color: transparent;\n"
+ "}"
+ )
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
@@ -1355,9 +1357,13 @@ def setupUi(self, MainWindow):
self.groupBox_2.setObjectName("groupBox_2")
self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_2)
self.gridLayout_7.setObjectName("gridLayout_7")
- spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_7.addItem(spacerItem, 0, 2, 1, 1)
- spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem1 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_7.addItem(spacerItem1, 0, 0, 1, 1)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
@@ -1369,12 +1375,16 @@ def setupUi(self, MainWindow):
self.gridLayout_5.setObjectName("gridLayout_5")
self.gridLayout_4 = QtWidgets.QGridLayout()
self.gridLayout_4.setObjectName("gridLayout_4")
- spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem2 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_4.addItem(spacerItem2, 1, 3, 1, 1)
self.cbModelName = QtWidgets.QComboBox(self.frame)
self.cbModelName.setObjectName("cbModelName")
self.gridLayout_4.addWidget(self.cbModelName, 1, 0, 1, 1)
- spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem3 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_4.addItem(spacerItem3, 1, 5, 1, 1)
self.label_4 = QtWidgets.QLabel(self.frame)
self.label_4.setAlignment(QtCore.Qt.AlignCenter)
@@ -1384,7 +1394,9 @@ def setupUi(self, MainWindow):
self.label_3.setAlignment(QtCore.Qt.AlignCenter)
self.label_3.setObjectName("label_3")
self.gridLayout_4.addWidget(self.label_3, 0, 4, 1, 1)
- spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem4 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_4.addItem(spacerItem4, 1, 7, 1, 1)
self.leNumFeas = QtWidgets.QLineEdit(self.frame)
self.leNumFeas.setObjectName("leNumFeas")
@@ -1397,7 +1409,9 @@ def setupUi(self, MainWindow):
self.leNumTrain.setText("")
self.leNumTrain.setObjectName("leNumTrain")
self.gridLayout_4.addWidget(self.leNumTrain, 1, 2, 1, 1)
- spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem5 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_4.addItem(spacerItem5, 1, 1, 1, 1)
self.leNumTest = QtWidgets.QLineEdit(self.frame)
self.leNumTest.setText("")
@@ -1418,7 +1432,9 @@ def setupUi(self, MainWindow):
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.gridLayout_4.addWidget(self.label_2, 0, 2, 1, 1)
- spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem6 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.gridLayout_4.addItem(spacerItem6, 1, 9, 1, 1)
self.label_6 = QtWidgets.QLabel(self.frame)
self.label_6.setAlignment(QtCore.Qt.AlignCenter)
@@ -1427,9 +1443,13 @@ def setupUi(self, MainWindow):
self.gridLayout_4.setRowStretch(0, 1)
self.gridLayout_4.setRowStretch(1, 1)
self.gridLayout_5.addLayout(self.gridLayout_4, 1, 1, 1, 1)
- spacerItem7 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+ spacerItem7 = QtWidgets.QSpacerItem(
+ 20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed
+ )
self.gridLayout_5.addItem(spacerItem7, 2, 1, 1, 1)
- spacerItem8 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+ spacerItem8 = QtWidgets.QSpacerItem(
+ 20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed
+ )
self.gridLayout_5.addItem(spacerItem8, 0, 1, 1, 1)
self.horizontalLayout.addWidget(self.frame)
self.horizontalLayout.setStretch(0, 8)
@@ -1456,7 +1476,9 @@ def setupUi(self, MainWindow):
self.gridLayout_2.setObjectName("gridLayout_2")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
- spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem9 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.horizontalLayout_2.addItem(spacerItem9)
self.frame_4 = QtWidgets.QFrame(self.frame_3)
self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel)
@@ -1470,7 +1492,9 @@ def setupUi(self, MainWindow):
self.lbProgress.setObjectName("lbProgress")
self.gridLayout_8.addWidget(self.lbProgress, 0, 0, 1, 1)
self.horizontalLayout_2.addWidget(self.frame_4)
- spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+ spacerItem10 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum
+ )
self.horizontalLayout_2.addItem(spacerItem10)
self.frame_5 = QtWidgets.QFrame(self.frame_3)
self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel)
@@ -1481,12 +1505,16 @@ def setupUi(self, MainWindow):
self.pgbEvaluator.setProperty("value", 24)
self.pgbEvaluator.setObjectName("pgbEvaluator")
self.horizontalLayout_2.addWidget(self.pgbEvaluator)
- spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ spacerItem11 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum
+ )
self.horizontalLayout_2.addItem(spacerItem11)
self.pbRunDetect = QtWidgets.QPushButton(self.frame_3)
self.pbRunDetect.setObjectName("pbRunDetect")
self.horizontalLayout_2.addWidget(self.pbRunDetect)
- spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+ spacerItem12 = QtWidgets.QSpacerItem(
+ 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum
+ )
self.horizontalLayout_2.addItem(spacerItem12)
self.horizontalLayout_2.setStretch(1, 1)
self.horizontalLayout_2.setStretch(4, 4)
@@ -1513,11 +1541,14 @@ def retranslateUi(self, MainWindow):
self.label_6.setText(_translate("MainWindow", "随机种子"))
self.groupBox.setTitle(_translate("MainWindow", "检测结果"))
self.pbRunDetect.setText(_translate("MainWindow", "检测"))
+
+
import src.res_rc as res_rc
if __name__ == "__main__":
import sys
+
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
diff --git a/src/UserInterface.ui b/src/UserInterface.ui
index d00260d..4cd8138 100644
--- a/src/UserInterface.ui
+++ b/src/UserInterface.ui
@@ -1,1753 +1,1750 @@
- MainWindow
-
-
-
- 0
- 0
- 884
- 749
-
-
-
- 异常流量数据分析软件
-
-
- /* ------------------------------------------------------------------------ */
-/* QtMaterial - https://github.com/UN-GCPDS/qt-material
-/* By Yeison Cardona - GCPDS
-/* ------------------------------------------------------------------------ */
-
-*{
- color: #555555;
-
- font-family: Roboto;
-
-
- font-size: 13px;
-
-
-
- line-height: 13px;
-
-
- selection-background-color: #75a7ff;
- selection-color: #3c3c3c;
-}
-
-*:focus {
- outline: none;
-}
-
-/* ------------------------------------------------------------------------ */
-/* Custom colors */
-
-.danger{
- color: #dc3545;
- background-color: transparent;
-}
-
-.warning{
- color: #ffc107;
- background-color: transparent;
-}
-
-.success{
- color: #17a2b8;
- background-color: transparent;
-}
-
-.danger:disabled{
- color: rgba(220, 53, 69, 0.4);
- border-color: rgba(220, 53, 69, 0.4);
-}
-
-.warning:disabled{
- color: rgba(255, 193, 7, 0.4);
- border-color: rgba(255, 193, 7, 0.4);
-}
-
-.success:disabled{
- color: rgba(23, 162, 184, 0.4);
- border-color: rgba(23, 162, 184, 0.4);
-}
-
-.danger:flat:disabled{
- background-color: rgba(220, 53, 69, 0.1);
-}
-
-.warning:flat:disabled{
- background-color: rgba(255, 193, 7, 0.1);
-}
-
-.success:flat:disabled{
- background-color: rgba(23, 162, 184, 0.1);
-}
-
-/* ------------------------------------------------------------------------ */
-/* Basic widgets */
-
-QWidget {
- background-color: #e6e6e6;
-}
-
-QGroupBox,
-QFrame {
- background-color: #e6e6e6;
- border: 2px solid #ffffff;
- border-radius: 4px;
-}
-
-QGroupBox.fill_background,
-QFrame.fill_background {
- background-color: #f5f5f5;
- border: 2px solid #f5f5f5;
- border-radius: 4px;
-}
-
-QSplitter {
- background-color: transparent;
- border: none
-}
-
-QStatusBar {
- color: #555555;
- background-color: rgba(255, 255, 255, 0.2);
- border-radius: 0px;
-}
-
-QScrollArea,
-QStackedWidget,
-QWidget > QToolBox,
-QToolBox > QWidget,
-QTabWidget > QWidget {
- border: none;
-}
-
-QTabWidget::pane {
- border: none;
-}
-
-/* ------------------------------------------------------------------------ */
-/* Inputs */
-
-QDateTimeEdit,
-QSpinBox,
-QDoubleSpinBox,
-QTextEdit,
-QLineEdit,
-QPushButton {
- color: #2979ff;
- background-color: #e6e6e6;
- border: 2px solid #2979ff;
- border-radius: 4px;
- height: 32px;
-}
-
-QDateTimeEdit,
-QSpinBox,
-QDoubleSpinBox,
-QTreeView,
-QListView,
-QLineEdit,
-QComboBox {
- padding-left: 16px;
- border-radius: 0px;
- background-color: #f5f5f5;
- border-width: 0 0 2px 0;
- border-radius: 0px;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- height: 32px;
-}
-
-QPlainTextEdit {
- border-radius: 4px;
- padding: 8px 16px;
- background-color: #e6e6e6;
- border: 2px solid #ffffff;
-}
-
-QTextEdit {
- padding: 8px 16px;
- border-radius: 4px;
- background-color: #f5f5f5;
-}
-
-QDateTimeEdit:disabled,
-QSpinBox:disabled,
-QDoubleSpinBox:disabled,
-QTextEdit:disabled,
-QLineEdit:disabled {
- color: rgba(41, 121, 255, 0.2);
- background-color: rgba(245, 245, 245, 0.75);
- border: 2px solid rgba(41, 121, 255, 0.2);
- border-width: 0 0 2px 0;
- padding: 0px 16px;
- border-radius: 0px;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- height: 32px;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QComboBox */
-
-QComboBox {
- color: #2979ff;
- border: 1px solid #2979ff;
- border-width: 0 0 2px 0;
- background-color: #f5f5f5;
- border-radius: 0px;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- height: 32px;
-}
-
-QComboBox:disabled {
- color: rgba(41, 121, 255, 0.2);
- background-color: rgba(245, 245, 245, 0.75);
- border-bottom: 2px solid rgba(41, 121, 255, 0.2);
-}
-
-QComboBox::drop-down {
- border: none;
- color: #2979ff;
- width: 20px;
-}
-
-QComboBox::down-arrow {
- image: url(icon:/primary/downarrow.svg);
- margin-right: 12px;
-}
-
-QComboBox::down-arrow:disabled {
- image: url(icon:/disabled/downarrow.svg);
- margin-right: 12px;
-}
-
-QComboBox QAbstractItemView {
- background-color: #f5f5f5;
- border: 2px solid #ffffff;
- border-radius: 4px;
-}
-
-QComboBox[frame='false'] {
- color: #2979ff;
- background-color: transparent;
- border: 1px solid transparent;
-}
-QComboBox[frame='false']:disabled {
- color: rgba(41, 121, 255, 0.2);
-}
-
-/* ------------------------------------------------------------------------ */
-/* Spin buttons */
-
-QDateTimeEdit::up-button,
-QDoubleSpinBox::up-button,
-QSpinBox::up-button {
- subcontrol-origin: border;
- subcontrol-position: top right;
- width: 20px;
- image: url(icon:/primary/uparrow.svg);
- border-width: 0px;
- margin-right: 5px;
-}
-
-QDateTimeEdit::up-button:disabled,
-QDoubleSpinBox::up-button:disabled,
-QSpinBox::up-button:disabled {
- image: url(icon:/disabled/uparrow.svg);
-}
-
-QDateTimeEdit::down-button,
-QDoubleSpinBox::down-button,
-QSpinBox::down-button {
- subcontrol-origin: border;
- subcontrol-position: bottom right;
- width: 20px;
- image: url(icon:/primary/downarrow.svg);
- border-width: 0px;
- border-top-width: 0;
- margin-right: 5px;
-}
-
-QDateTimeEdit::down-button:disabled,
-QDoubleSpinBox::down-button:disabled,
-QSpinBox::down-button:disabled {
- image: url(icon:/disabled/downarrow.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QPushButton */
-
-QPushButton {
- text-transform: uppercase;
- margin: 0px;
- padding: 1px 16px;
- height: 32px;
- font-weight: bold;
-
-
- border-radius: 4px;
-
-
-
-}
-
-QPushButton:checked,
-QPushButton:pressed {
- color: #e6e6e6;
- background-color: #2979ff;
-}
-
-QPushButton:flat {
- margin: 0px;
- color: #2979ff;
- border: none;
- background-color: transparent;
-}
-
-QPushButton:flat:hover {
- background-color: rgba(41, 121, 255, 0.2);
-}
-
-QPushButton:flat:pressed,
-QPushButton:flat:checked {
- background-color: rgba(41, 121, 255, 0.1);
-}
-
-QPushButton:disabled {
- color: rgba(255, 255, 255, 0.75);
- background-color: transparent;
- border-color: #ffffff;
-}
-
-QPushButton:flat:disabled {
- color: rgba(255, 255, 255, 0.75);
- background-color: rgba(255, 255, 255, 0.25);
- border: none;
-}
-
-QPushButton:disabled {
- border: 2px solid rgba(255, 255, 255, 0.75);
-}
-
-QPushButton:checked:disabled {
- color: #f5f5f5;
- background-color: #ffffff;
- border-color: #ffffff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QTabBar */
-
-QTabBar{
- text-transform: uppercase;
- font-weight: bold;
-}
-
-QTabBar::tab {
- color: #555555;
- border: 0px;
-}
-
-QTabBar::tab:bottom,
-QTabBar::tab:top{
- padding: 0 16px;
- height: 28px;
-}
-
-QTabBar::tab:left,
-QTabBar::tab:right{
- padding: 16px 0;
- width: 28px;
-}
-
-QTabBar::tab:top:selected,
-QTabBar::tab:top:hover {
- color: #2979ff;
- border-bottom: 2px solid #2979ff;
-}
-
-QTabBar::tab:bottom:selected,
-QTabBar::tab:bottom:hover {
- color: #2979ff;
- border-top: 2px solid #2979ff;
-}
-
-QTabBar::tab:right:selected,
-QTabBar::tab:right:hover {
- color: #2979ff;
- border-left: 2px solid #2979ff;
-}
-
-QTabBar::tab:left:selected,
-QTabBar::tab:left:hover {
- color: #2979ff;
- border-right: 2px solid #2979ff;
-}
-
-QTabBar QToolButton:hover,
-QTabBar QToolButton {
- border: 20px;
- background-color: #e6e6e6;
-}
-
-QTabBar QToolButton::up-arrow {
- image: url(icon:/disabled/uparrow2.svg);
-}
-
-QTabBar QToolButton::up-arrow:hover {
- image: url(icon:/primary/uparrow2.svg);
-}
-
-QTabBar QToolButton::down-arrow {
- image: url(icon:/disabled/downarrow2.svg);
-}
-
-QTabBar QToolButton::down-arrow:hover {
- image: url(icon:/primary/downarrow2.svg);
-}
-
-QTabBar QToolButton::right-arrow {
- image: url(icon:/primary/rightarrow2.svg);
-}
-
-QTabBar QToolButton::right-arrow:hover {
- image: url(icon:/disabled/rightarrow2.svg);
-}
-
-QTabBar QToolButton::left-arrow {
- image: url(icon:/primary/leftarrow2.svg);
-}
-
-QTabBar QToolButton::left-arrow:hover {
- image: url(icon:/disabled/leftarrow2.svg);
-}
-
-QTabBar::close-button {
- image: url(icon:/disabled/tab_close.svg);
-}
-
-QTabBar::close-button:hover {
- image: url(icon:/primary/tab_close.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QGroupBox */
-
-QGroupBox {
- padding: 16px;
- padding-top: 36px;
- line-height: ;
- text-transform: uppercase;
- font-size: ;
-}
-
-QGroupBox::title {
- color: rgba(85, 85, 85, 0.4);
- subcontrol-origin: margin;
- subcontrol-position: top left;
- padding: 16px;
- background-color: #e6e6e6;
- background-color: transparent;
- height: 36px;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QRadioButton and QCheckBox labels */
-
-QRadioButton,
-QCheckBox {
- spacing: 12px;
- color: #555555;
- line-height: 14px;
- height: 36px;
- background-color: transparent;
- spacing: 5px;
-}
-
-QRadioButton:disabled,
-QCheckBox:disabled {
- color: rgba(85, 85, 85, 0.3);
-}
-
-/* ------------------------------------------------------------------------ */
-/* General Indicators */
-
-QGroupBox::indicator {
- width: 24px;
- height: 24px;
- border-radius: 3px;
-}
-
-QMenu::indicator,
-QListView::indicator,
-QTableWidget::indicator,
-QRadioButton::indicator,
-QCheckBox::indicator {
- width: 28px;
- height: 28px;
- border-radius: 4px;
- }
-
-/* ------------------------------------------------------------------------ */
-/* QListView Indicator */
-
-QListView::indicator:checked,
-QListView::indicator:checked:selected,
-QListView::indicator:checked:focus {
- image: url(icon:/primary/checklist.svg);
-}
-
-QListView::indicator:checked:selected:active {
- image: url(icon:/primary/checklist_invert.svg);
-}
-
-QListView::indicator:checked:disabled {
- image: url(icon:/disabled/checklist.svg);
-}
-
-QListView::indicator:indeterminate,
-QListView::indicator:indeterminate:selected,
-QListView::indicator:indeterminate:focus {
- image: url(icon:/primary/checklist_indeterminate.svg);
-}
-
-QListView::indicator:indeterminate:selected:active {
- image: url(icon:/primary/checklist_indeterminate_invert.svg);
-}
-
-QListView::indicator:indeterminate:disabled {
- image: url(icon:/disabled/checklist_indeterminate.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QTableView Indicator */
-
-QTableView::indicator:enabled:checked,
-QTableView::indicator:enabled:checked:selected,
-QTableView::indicator:enabled:checked:focus {
- image: url(icon:/primary/checkbox_checked.svg);
-}
-
-QTableView::indicator:checked:selected:active {
- image: url(icon:/primary/checkbox_checked_invert.svg);
-}
-
-QTableView::indicator:disabled:checked,
-QTableView::indicator:disabled:checked:selected,
-QTableView::indicator:disabled:checked:focus {
- image: url(icon:/disabled/checkbox_checked.svg);
-}
-
-QTableView::indicator:enabled:unchecked,
-QTableView::indicator:enabled:unchecked:selected,
-QTableView::indicator:enabled:unchecked:focus {
- image: url(icon:/primary/checkbox_unchecked.svg);
-}
-
-QTableView::indicator:unchecked:selected:active {
- image: url(icon:/primary/checkbox_unchecked_invert.svg);
-}
-
-QTableView::indicator:disabled:unchecked,
-QTableView::indicator:disabled:unchecked:selected,
-QTableView::indicator:disabled:unchecked:focus {
- image: url(icon:/disabled/checkbox_unchecked.svg);
-}
-
-QTableView::indicator:enabled:indeterminate,
-QTableView::indicator:enabled:indeterminate:selected,
-QTableView::indicator:enabled:indeterminate:focus {
- image: url(icon:/primary/checkbox_indeterminate.svg);
-}
-
-QTableView::indicator:indeterminate:selected:active {
- image: url(icon:/primary/checkbox_indeterminate_invert.svg);
-}
-
-QTableView::indicator:disabled:indeterminate,
-QTableView::indicator:disabled:indeterminate:selected,
-QTableView::indicator:disabled:indeterminate:focus {
- image: url(icon:/disabled/checkbox_indeterminate.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QCheckBox and QGroupBox Indicator */
-
-QCheckBox::indicator:checked,
-QGroupBox::indicator:checked {
- image: url(icon:/primary/checkbox_checked.svg);
-}
-
-QCheckBox::indicator:unchecked,
-QGroupBox::indicator:unchecked {
- image: url(icon:/primary/checkbox_unchecked.svg);
-}
-
-QCheckBox::indicator:indeterminate,
-QGroupBox::indicator:indeterminate {
- image: url(icon:/primary/checkbox_indeterminate.svg);
-}
-
-QCheckBox::indicator:checked:disabled,
-QGroupBox::indicator:checked:disabled {
- image: url(icon:/disabled/checkbox_checked.svg);
-}
-
-QCheckBox::indicator:unchecked:disabled,
-QGroupBox::indicator:unchecked:disabled {
- image: url(icon:/disabled/checkbox_unchecked.svg);
-}
-
-QCheckBox::indicator:indeterminate:disabled,
-QGroupBox::indicator:indeterminate:disabled {
- image: url(icon:/disabled/checkbox_indeterminate.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QRadioButton Indicator */
-
-QRadioButton::indicator:checked {
- image: url(icon:/primary/radiobutton_checked.svg);
-}
-
-QRadioButton::indicator:unchecked {
- image: url(icon:/primary/radiobutton_unchecked.svg);
-}
-
-QRadioButton::indicator:checked:disabled {
- image: url(icon:/disabled/radiobutton_checked.svg);
-}
-
-QRadioButton::indicator:unchecked:disabled {
- image: url(icon:/disabled/radiobutton_unchecked.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QDockWidget */
-
-QDockWidget {
- color: #555555;
- text-transform: uppercase;
- border: 2px solid #f5f5f5;
- titlebar-close-icon: url(icon:/primary/close.svg);
- titlebar-normal-icon: url(icon:/primary/float.svg);
- border-radius: 4px;
-}
-
-QDockWidget::title {
- text-align: left;
- padding-left: 36px;
- padding: 3px;
- margin-top: 4px;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QComboBox indicator */
-
-QComboBox::indicator:checked {
- image: url(icon:/primary/checklist.svg);
-}
-
-QComboBox::indicator:checked:selected {
- image: url(icon:/primary/checklist_invert.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* Menu Items */
-
-QComboBox::item,
-QCalendarWidget QMenu::item,
-QMenu::item {
-
- height: 28px;
-
- border: 8px solid transparent;
- color: #555555;
-}
-
-QCalendarWidget QMenu::item,
-QMenu::item {
-
-
-
-}
-
-
-QComboBox::item:selected,
-QCalendarWidget QMenu::item:selected,
-QMenu::item:selected {
- color: #3c3c3c;
- background-color: #75a7ff;
- border-radius: 0px;
-}
-
-QComboBox::item:disabled,
-QCalendarWidget QMenu::item:disabled,
-QMenu::item:disabled {
- color: rgba(85, 85, 85, 0.3);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QMenu */
-
-QCalendarWidget QMenu,
-QMenu {
- background-color: #f5f5f5;
- border: 2px solid #ffffff;
- border-radius: 4px;
-}
-
-QMenu::separator {
- height: 2px;
- background-color: #ffffff;
- margin-left: 2px;
- margin-right: 2px;
-}
-
-QMenu::right-arrow{
- image: url(icon:/primary/rightarrow.svg);
- width: 16px;
- height: 16px;
-}
-
-QMenu::right-arrow:selected{
- image: url(icon:/disabled/rightarrow.svg);
-}
-
-QMenu::indicator:non-exclusive:unchecked {
- image: url(icon:/primary/checkbox_unchecked.svg);
-}
-
-QMenu::indicator:non-exclusive:unchecked:selected {
- image: url(icon:/primary/checkbox_unchecked_invert.svg);
-}
-
-QMenu::indicator:non-exclusive:checked {
- image: url(icon:/primary/checkbox_checked.svg);
-}
-
-QMenu::indicator:non-exclusive:checked:selected {
- image: url(icon:/primary/checkbox_checked_invert.svg);
-}
-
-QMenu::indicator:exclusive:unchecked {
- image: url(icon:/primary/radiobutton_unchecked.svg);
-}
-
-QMenu::indicator:exclusive:unchecked:selected {
- image: url(icon:/primary/radiobutton_unchecked_invert.svg);
-}
-
-QMenu::indicator:exclusive:checked {
- image: url(icon:/primary/radiobutton_checked.svg);
-}
-
-QMenu::indicator:exclusive:checked:selected {
- image: url(icon:/primary/radiobutton_checked_invert.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QMenuBar */
-
-QMenuBar {
- background-color: #f5f5f5;
- color: #555555;
-}
-
-QMenuBar::item {
- height: 32px;
- padding: 8px;
- background-color: transparent;
- color: #555555;
-}
-
-QMenuBar::item:selected,
-QMenuBar::item:pressed {
- color: #3c3c3c;
- background-color: #75a7ff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QToolBox */
-
-QToolBox::tab {
- background-color: #f5f5f5;
- color: #555555;
- text-transform: uppercase;
- border-radius: 4px;
- padding-left: 15px;
-}
-
-QToolBox::tab:selected,
-QToolBox::tab:hover {
- background-color: rgba(41, 121, 255, 0.2);
-}
-
-/* ------------------------------------------------------------------------ */
-/* QProgressBar */
-
-QProgressBar {
- border-radius: 0;
- background-color: #ffffff;
- text-align: center;
- color: transparent;
-}
-
-QProgressBar::chunk {
- background-color: #2979ff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QScrollBar */
-
-QScrollBar:horizontal {
- border: 0;
- background: #f5f5f5;
- height: 8px;
-}
-
-QScrollBar:vertical {
- border: 0;
- background: #f5f5f5;
- width: 8px;
-}
-
-QScrollBar::handle {
- background: rgba(41, 121, 255, 0.1);
-}
-
-QScrollBar::handle:horizontal {
- min-width: 24px;
-}
-
-QScrollBar::handle:vertical {
- min-height: 24px;
-}
-
-QScrollBar::handle:vertical:hover,
-QScrollBar::handle:horizontal:hover {
- background: #2979ff;
-}
-
-QScrollBar::add-line:vertical,
-QScrollBar::sub-line:vertical,
-QScrollBar::add-line:horizontal,
-QScrollBar::sub-line:horizontal {
- border: 0;
- background: transparent;
- width: 0px;
- height: 0px;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QScrollBar-Big */
-
-QScrollBar.big:horizontal {
- border: 0;
- background: #f5f5f5;
- height: 36px;
-}
-
-QScrollBar.big:vertical {
- border: 0;
- background: #f5f5f5;
- width: 36px;
-}
-
-QScrollBar.big::handle,
-QScrollBar.big::handle:vertical:hover,
-QScrollBar.big::handle:horizontal:hover {
- background: #2979ff;
-}
-
-QScrollBar.big::handle:horizontal {
- min-width: 24px;
-}
-
-QScrollBar.big::handle:vertical {
- min-height: 24px;
-}
-
-QScrollBar.big::add-line:vertical,
-QScrollBar.big::sub-line:vertical,
-QScrollBar.big::add-line:horizontal,
-QScrollBar.big::sub-line:horizontal {
- border: 0;
- background: transparent;
- width: 0px;
- height: 0px;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QSlider */
-
-QSlider:horizontal {
- min-height: 24px;
- max-height: 24px;
-}
-
-QSlider:vertical {
- min-width: 24px;
- max-width: 24px;
-}
-
-QSlider::groove:horizontal {
- height: 4px;
- background: #393939;
- margin: 0 12px;
-}
-
-QSlider::groove:vertical {
- width: 4px;
- background: #393939;
- margin: 12px 0;
- border-radius: 24px;
-}
-
-QSlider::handle:horizontal {
- image: url(icon:/primary/slider.svg);
- width: 24px;
- height: 24px;
- margin: -24px -12px;
-}
-
-QSlider::handle:vertical {
- image: url(icon:/primary/slider.svg);
- border-radius: 24px;
- width: 24px;
- height: 24px;
- margin: -12px -24px;
-}
-
-QSlider::add-page {
-background: #f5f5f5;
-}
-
-QSlider::sub-page {
-background: #2979ff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QLabel */
-
-QLabel {
- border: none;
- background: transparent;
- color: #555555
-}
-
-QLabel:disabled {
- color: rgba(85, 85, 85, 0.2)
-}
-
-/* ------------------------------------------------------------------------ */
-/* VLines and HLinex */
-
-QFrame[frameShape="4"] {
- border-width: 1px 0 0 0;
- background: none;
-}
-
-QFrame[frameShape="5"] {
- border-width: 0 1px 0 0;
- background: none;
-}
-
-QFrame[frameShape="4"],
-QFrame[frameShape="5"] {
- border-color: #ffffff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QToolBar */
-
-QToolBar {
- background: #e6e6e6;
- border: 0px solid;
-}
-
-QToolBar:horizontal {
- border-bottom: 1px solid #ffffff;
-}
-
-QToolBar:vertical {
- border-right: 1px solid #ffffff;
-}
-
-QToolBar::handle:horizontal {
- image: url(icon:/primary/toolbar-handle-horizontal.svg);
-}
-
-QToolBar::handle:vertical {
- image: url(icon:/primary/toolbar-handle-vertical.svg);
-}
-
-QToolBar::separator:horizontal {
- border-right: 1px solid #ffffff;
- border-left: 1px solid #ffffff;
- width: 1px;
-}
-
-QToolBar::separator:vertical {
- border-top: 1px solid #ffffff;
- border-bottom: 1px solid #ffffff;
- height: 1px;
-}
-
-
-/* ------------------------------------------------------------------------ */
-/* QToolButton */
-
-QToolButton {
- background: #e6e6e6;
- border: 0px;
- height: 36px;
- margin: 3px;
- padding: 3px;
- border-right: 12px solid #e6e6e6;
- border-left: 12px solid #e6e6e6;
-}
-
-QToolButton:hover {
- background: #ffffff;
- border-right: 12px solid #ffffff;
- border-left: 12px solid #ffffff;
-}
-
-QToolButton:pressed {
- background: #f5f5f5;
- border-right: 12px solid #f5f5f5;
- border-left: 12px solid #f5f5f5;
-}
-
-QToolButton:checked {
- background: #ffffff;
- border-left: 12px solid #ffffff;
- border-right: 12px solid #2979ff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* General viewers */
-
-QTableView {
- background-color: #e6e6e6;
- border: 1px solid #f5f5f5;
- border-radius: 4px;
-}
-
-QTreeView,
-QListView {
- border-radius: 4px;
- padding: 4px;
- margin: 0px;
- border: 0px;
-}
-
-QTableView::item,
-QTreeView::item,
-QListView::item {
- padding: 4px;
- min-height: 32px;
- color: #555555;
- selection-color: #555555; /* For Windows */
- border-color: transparent; /* Fix #34 */
-}
-
-/* ------------------------------------------------------------------------ */
-/* Items Selection */
-
-QTableView::item:selected,
-QTreeView::item:selected,
-QListView::item:selected {
- background-color: rgba(41, 121, 255, 0.2);
- selection-background-color: rgba(41, 121, 255, 0.2);
- color: #555555;
- selection-color: #555555; /* For Windows */
-}
-
-QTableView::item:selected:focus,
-QTreeView::item:selected:focus,
-QListView::item:selected:focus {
- background-color: #2979ff;
- selection-background-color: #2979ff;
- color: #3c3c3c;
- selection-color: #3c3c3c; /* For Windows */
-}
-
-QTableView {
- selection-background-color: rgba(41, 121, 255, 0.2);
-}
-
-QTableView:focus {
- selection-background-color: #2979ff;
-}
-
-QTableView::item:disabled {
- color: rgba(85, 85, 85, 0.3);
- selection-color: rgba(85, 85, 85, 0.3);
- background-color: #f5f5f5;
- selection-background-color: #f5f5f5;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QTreeView */
-
-QTreeView::branch{
- background-color: #f5f5f5;
-}
-
-QTreeView::branch:closed:has-children:has-siblings,
-QTreeView::branch:closed:has-children:!has-siblings {
- image: url(icon:/primary/branch-closed.svg);
-}
-
-QTreeView::branch:open:has-children:!has-siblings,
-QTreeView::branch:open:has-children:has-siblings {
- image: url(icon:/primary/branch-open.svg);
-}
-
-QTreeView::branch:has-siblings:!adjoins-item {
- border-image: url(icon:/disabled/vline.svg) 0;
-}
-
-QTreeView::branch:has-siblings:adjoins-item {
- border-image: url(icon:/disabled/branch-more.svg) 0;
-}
-
-QTreeView::branch:!has-children:!has-siblings:adjoins-item,
-QTreeView::branch:has-children:!has-siblings:adjoins-item {
- border-image: url(icon:/disabled/branch-end.svg) 0;
-}
-
-QTreeView QHeaderView::section {
- border: none;
-}
-
-
-/* ------------------------------------------------------------------------ */
-/* Custom buttons */
-
-QPushButton.danger {
- border-color: #dc3545;
- color: #dc3545;
-}
-
-QPushButton.danger:checked,
-QPushButton.danger:pressed {
- color: #e6e6e6;
- background-color: #dc3545;
-}
-
-QPushButton.warning{
- border-color: #ffc107;
- color: #ffc107;
-}
-
-QPushButton.warning:checked,
-QPushButton.warning:pressed {
- color: #e6e6e6;
- background-color: #ffc107;
-}
-
-QPushButton.success {
- border-color: #17a2b8;
- color: #17a2b8;
-}
-
-QPushButton.success:checked,
-QPushButton.success:pressed {
- color: #e6e6e6;
- background-color: #17a2b8;
-}
-
-QPushButton.danger:flat:hover {
- background-color: rgba(220, 53, 69, 0.2);
-}
-
-QPushButton.danger:flat:pressed,
-QPushButton.danger:flat:checked {
- background-color: rgba(220, 53, 69, 0.1);
- color: #dc3545;
-}
-
-QPushButton.warning:flat:hover {
- background-color: rgba(255, 193, 7, 0.2);
-}
-
-QPushButton.warning:flat:pressed,
-QPushButton.warning:flat:checked {
- background-color: rgba(255, 193, 7, 0.1);
- color: #ffc107;
-}
-
-QPushButton.success:flat:hover {
- background-color: rgba(23, 162, 184, 0.2);
-}
-
-QPushButton.success:flat:pressed,
-QPushButton.success:flat:checked {
- background-color: rgba(23, 162, 184, 0.1);
- color: #17a2b8;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QTableView */
-
-QTableCornerButton::section {
- background-color: #f5f5f5;
- border-radius: 0px;
- border-right: 1px solid;
- border-bottom: 1px solid;
- border-color: #e6e6e6;
-}
-
-QTableView {
- alternate-background-color: rgba(245, 245, 245, 0.7);
-}
-
-QHeaderView {
- border: none;
-}
-
-QHeaderView::section {
- color: rgba(85, 85, 85, 0.7);
- text-transform: uppercase;
- background-color: #f5f5f5;
- padding: 0 24px;
- height: 36px;
- border-radius: 0px;
- border-right: 1px solid;
- border-bottom: 1px solid;
- border-color: #e6e6e6;
-}
-
-QHeaderView::section:vertical {
-
-}
-
-QHeaderView::section:horizontal {
-
-}
-
-/* ------------------------------------------------------------------------ */
-/* QLCDNumber */
-
-QLCDNumber {
- color: #2979ff;
- background-color:rgba(41, 121, 255, 0.1);
- border: 1px solid rgba(41, 121, 255, 0.3);
- border-radius: 4px;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QCalendarWidget */
-
-#qt_calendar_prevmonth {
- qproperty-icon: url(icon:/primary/leftarrow.svg);
-}
-
-#qt_calendar_nextmonth {
- qproperty-icon: url(icon:/primary/rightarrow.svg);
-}
-
-/* ------------------------------------------------------------------------ */
-/* Inline QLineEdit */
-
-QTreeView QLineEdit,
-QTableView QLineEdit,
-QListView QLineEdit {
- color: #555555;
- background-color: #f5f5f5;
- border: 1px solid unset;
- border-radius: unset;
- padding: unset;
- padding-left: unset;
- height: unset;
- border-width: unset;
- border-top-left-radius: unset;
- border-top-right-radius: unset;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QToolTip */
-
-QToolTip {
- padding: 4px;
- border: 1px solid #e6e6e6;
- border-radius: 4px;
- color: #555555;
- background-color: #ffffff;
-}
-
-/* ------------------------------------------------------------------------ */
-/* QDialog */
-
-
-
-QDialog QToolButton:disabled {
- background-color: #f5f5f5;
- color: #555555
-}
-
-/* ------------------------------------------------------------------------ */
-/* Grips */
-
-
-QMainWindow::separator:vertical,
-QSplitter::handle:horizontal {
- image: url(icon:/primary/splitter-horizontal.svg);
-}
-
-QMainWindow::separator:horizontal,
-QSplitter::handle:vertical {
- image: url(icon:/primary/splitter-vertical.svg);
-}
-
-QSizeGrip {
- image: url(icon:/primary/sizegrip.svg);
- background-color: transparent;
-}
-
-QMenuBar QToolButton:hover,
-QMenuBar QToolButton:pressed,
-QMenuBar QToolButton {
- border-width: 0;
- border-left: 10px;
- border-image: url(icon:/primary/rightarrow2.svg);
- background-color: transparent;
-}
-
-
-
- -
-
-
-
-
-
- 输入参数
-
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
-
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- 异常点比例
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- 测试样本数
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- -
-
-
- 选择模型
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- -
-
-
- 特征维数
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
-
-
-
- -
-
-
- 训练样本数
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- 随机种子
-
-
- Qt::AlignCenter
-
-
-
-
-
- -
-
-
- Qt::Vertical
+ MainWindow
+
+
+
+ 0
+ 0
+ 884
+ 749
+
+
+
+ 异常流量数据分析软件
+
+
+ /*
+ ------------------------------------------------------------------------ */
+ /* QtMaterial - https://github.com/UN-GCPDS/qt-material
+ /* By Yeison Cardona - GCPDS
+ /* ------------------------------------------------------------------------ */
+
+ *{
+ color: #555555;
+
+ font-family: Roboto;
+
+
+ font-size: 13px;
+
+
+ line-height: 13px;
+
+
+ selection-background-color: #75a7ff;
+ selection-color: #3c3c3c;
+ }
+
+ *:focus {
+ outline: none;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Custom colors */
+
+ .danger{
+ color: #dc3545;
+ background-color: transparent;
+ }
+
+ .warning{
+ color: #ffc107;
+ background-color: transparent;
+ }
+
+ .success{
+ color: #17a2b8;
+ background-color: transparent;
+ }
+
+ .danger:disabled{
+ color: rgba(220, 53, 69, 0.4);
+ border-color: rgba(220, 53, 69, 0.4);
+ }
+
+ .warning:disabled{
+ color: rgba(255, 193, 7, 0.4);
+ border-color: rgba(255, 193, 7, 0.4);
+ }
+
+ .success:disabled{
+ color: rgba(23, 162, 184, 0.4);
+ border-color: rgba(23, 162, 184, 0.4);
+ }
+
+ .danger:flat:disabled{
+ background-color: rgba(220, 53, 69, 0.1);
+ }
+
+ .warning:flat:disabled{
+ background-color: rgba(255, 193, 7, 0.1);
+ }
+
+ .success:flat:disabled{
+ background-color: rgba(23, 162, 184, 0.1);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Basic widgets */
+
+ QWidget {
+ background-color: #e6e6e6;
+ }
+
+ QGroupBox,
+ QFrame {
+ background-color: #e6e6e6;
+ border: 2px solid #ffffff;
+ border-radius: 4px;
+ }
+
+ QGroupBox.fill_background,
+ QFrame.fill_background {
+ background-color: #f5f5f5;
+ border: 2px solid #f5f5f5;
+ border-radius: 4px;
+ }
+
+ QSplitter {
+ background-color: transparent;
+ border: none
+ }
+
+ QStatusBar {
+ color: #555555;
+ background-color: rgba(255, 255, 255, 0.2);
+ border-radius: 0px;
+ }
+
+ QScrollArea,
+ QStackedWidget,
+ QWidget > QToolBox,
+ QToolBox > QWidget,
+ QTabWidget > QWidget {
+ border: none;
+ }
+
+ QTabWidget::pane {
+ border: none;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Inputs */
+
+ QDateTimeEdit,
+ QSpinBox,
+ QDoubleSpinBox,
+ QTextEdit,
+ QLineEdit,
+ QPushButton {
+ color: #2979ff;
+ background-color: #e6e6e6;
+ border: 2px solid #2979ff;
+ border-radius: 4px;
+ height: 32px;
+ }
+
+ QDateTimeEdit,
+ QSpinBox,
+ QDoubleSpinBox,
+ QTreeView,
+ QListView,
+ QLineEdit,
+ QComboBox {
+ padding-left: 16px;
+ border-radius: 0px;
+ background-color: #f5f5f5;
+ border-width: 0 0 2px 0;
+ border-radius: 0px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ height: 32px;
+ }
+
+ QPlainTextEdit {
+ border-radius: 4px;
+ padding: 8px 16px;
+ background-color: #e6e6e6;
+ border: 2px solid #ffffff;
+ }
+
+ QTextEdit {
+ padding: 8px 16px;
+ border-radius: 4px;
+ background-color: #f5f5f5;
+ }
+
+ QDateTimeEdit:disabled,
+ QSpinBox:disabled,
+ QDoubleSpinBox:disabled,
+ QTextEdit:disabled,
+ QLineEdit:disabled {
+ color: rgba(41, 121, 255, 0.2);
+ background-color: rgba(245, 245, 245, 0.75);
+ border: 2px solid rgba(41, 121, 255, 0.2);
+ border-width: 0 0 2px 0;
+ padding: 0px 16px;
+ border-radius: 0px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ height: 32px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QComboBox */
+
+ QComboBox {
+ color: #2979ff;
+ border: 1px solid #2979ff;
+ border-width: 0 0 2px 0;
+ background-color: #f5f5f5;
+ border-radius: 0px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ height: 32px;
+ }
+
+ QComboBox:disabled {
+ color: rgba(41, 121, 255, 0.2);
+ background-color: rgba(245, 245, 245, 0.75);
+ border-bottom: 2px solid rgba(41, 121, 255, 0.2);
+ }
+
+ QComboBox::drop-down {
+ border: none;
+ color: #2979ff;
+ width: 20px;
+ }
+
+ QComboBox::down-arrow {
+ image: url(icon:/primary/downarrow.svg);
+ margin-right: 12px;
+ }
+
+ QComboBox::down-arrow:disabled {
+ image: url(icon:/disabled/downarrow.svg);
+ margin-right: 12px;
+ }
+
+ QComboBox QAbstractItemView {
+ background-color: #f5f5f5;
+ border: 2px solid #ffffff;
+ border-radius: 4px;
+ }
+
+ QComboBox[frame='false'] {
+ color: #2979ff;
+ background-color: transparent;
+ border: 1px solid transparent;
+ }
+ QComboBox[frame='false']:disabled {
+ color: rgba(41, 121, 255, 0.2);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Spin buttons */
+
+ QDateTimeEdit::up-button,
+ QDoubleSpinBox::up-button,
+ QSpinBox::up-button {
+ subcontrol-origin: border;
+ subcontrol-position: top right;
+ width: 20px;
+ image: url(icon:/primary/uparrow.svg);
+ border-width: 0px;
+ margin-right: 5px;
+ }
+
+ QDateTimeEdit::up-button:disabled,
+ QDoubleSpinBox::up-button:disabled,
+ QSpinBox::up-button:disabled {
+ image: url(icon:/disabled/uparrow.svg);
+ }
+
+ QDateTimeEdit::down-button,
+ QDoubleSpinBox::down-button,
+ QSpinBox::down-button {
+ subcontrol-origin: border;
+ subcontrol-position: bottom right;
+ width: 20px;
+ image: url(icon:/primary/downarrow.svg);
+ border-width: 0px;
+ border-top-width: 0;
+ margin-right: 5px;
+ }
+
+ QDateTimeEdit::down-button:disabled,
+ QDoubleSpinBox::down-button:disabled,
+ QSpinBox::down-button:disabled {
+ image: url(icon:/disabled/downarrow.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QPushButton */
+
+ QPushButton {
+ text-transform: uppercase;
+ margin: 0px;
+ padding: 1px 16px;
+ height: 32px;
+ font-weight: bold;
+
+
+ border-radius: 4px;
+
+
+ }
+
+ QPushButton:checked,
+ QPushButton:pressed {
+ color: #e6e6e6;
+ background-color: #2979ff;
+ }
+
+ QPushButton:flat {
+ margin: 0px;
+ color: #2979ff;
+ border: none;
+ background-color: transparent;
+ }
+
+ QPushButton:flat:hover {
+ background-color: rgba(41, 121, 255, 0.2);
+ }
+
+ QPushButton:flat:pressed,
+ QPushButton:flat:checked {
+ background-color: rgba(41, 121, 255, 0.1);
+ }
+
+ QPushButton:disabled {
+ color: rgba(255, 255, 255, 0.75);
+ background-color: transparent;
+ border-color: #ffffff;
+ }
+
+ QPushButton:flat:disabled {
+ color: rgba(255, 255, 255, 0.75);
+ background-color: rgba(255, 255, 255, 0.25);
+ border: none;
+ }
+
+ QPushButton:disabled {
+ border: 2px solid rgba(255, 255, 255, 0.75);
+ }
+
+ QPushButton:checked:disabled {
+ color: #f5f5f5;
+ background-color: #ffffff;
+ border-color: #ffffff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QTabBar */
+
+ QTabBar{
+ text-transform: uppercase;
+ font-weight: bold;
+ }
+
+ QTabBar::tab {
+ color: #555555;
+ border: 0px;
+ }
+
+ QTabBar::tab:bottom,
+ QTabBar::tab:top{
+ padding: 0 16px;
+ height: 28px;
+ }
+
+ QTabBar::tab:left,
+ QTabBar::tab:right{
+ padding: 16px 0;
+ width: 28px;
+ }
+
+ QTabBar::tab:top:selected,
+ QTabBar::tab:top:hover {
+ color: #2979ff;
+ border-bottom: 2px solid #2979ff;
+ }
+
+ QTabBar::tab:bottom:selected,
+ QTabBar::tab:bottom:hover {
+ color: #2979ff;
+ border-top: 2px solid #2979ff;
+ }
+
+ QTabBar::tab:right:selected,
+ QTabBar::tab:right:hover {
+ color: #2979ff;
+ border-left: 2px solid #2979ff;
+ }
+
+ QTabBar::tab:left:selected,
+ QTabBar::tab:left:hover {
+ color: #2979ff;
+ border-right: 2px solid #2979ff;
+ }
+
+ QTabBar QToolButton:hover,
+ QTabBar QToolButton {
+ border: 20px;
+ background-color: #e6e6e6;
+ }
+
+ QTabBar QToolButton::up-arrow {
+ image: url(icon:/disabled/uparrow2.svg);
+ }
+
+ QTabBar QToolButton::up-arrow:hover {
+ image: url(icon:/primary/uparrow2.svg);
+ }
+
+ QTabBar QToolButton::down-arrow {
+ image: url(icon:/disabled/downarrow2.svg);
+ }
+
+ QTabBar QToolButton::down-arrow:hover {
+ image: url(icon:/primary/downarrow2.svg);
+ }
+
+ QTabBar QToolButton::right-arrow {
+ image: url(icon:/primary/rightarrow2.svg);
+ }
+
+ QTabBar QToolButton::right-arrow:hover {
+ image: url(icon:/disabled/rightarrow2.svg);
+ }
+
+ QTabBar QToolButton::left-arrow {
+ image: url(icon:/primary/leftarrow2.svg);
+ }
+
+ QTabBar QToolButton::left-arrow:hover {
+ image: url(icon:/disabled/leftarrow2.svg);
+ }
+
+ QTabBar::close-button {
+ image: url(icon:/disabled/tab_close.svg);
+ }
+
+ QTabBar::close-button:hover {
+ image: url(icon:/primary/tab_close.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QGroupBox */
+
+ QGroupBox {
+ padding: 16px;
+ padding-top: 36px;
+ line-height: ;
+ text-transform: uppercase;
+ font-size: ;
+ }
+
+ QGroupBox::title {
+ color: rgba(85, 85, 85, 0.4);
+ subcontrol-origin: margin;
+ subcontrol-position: top left;
+ padding: 16px;
+ background-color: #e6e6e6;
+ background-color: transparent;
+ height: 36px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QRadioButton and QCheckBox labels */
+
+ QRadioButton,
+ QCheckBox {
+ spacing: 12px;
+ color: #555555;
+ line-height: 14px;
+ height: 36px;
+ background-color: transparent;
+ spacing: 5px;
+ }
+
+ QRadioButton:disabled,
+ QCheckBox:disabled {
+ color: rgba(85, 85, 85, 0.3);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* General Indicators */
+
+ QGroupBox::indicator {
+ width: 24px;
+ height: 24px;
+ border-radius: 3px;
+ }
+
+ QMenu::indicator,
+ QListView::indicator,
+ QTableWidget::indicator,
+ QRadioButton::indicator,
+ QCheckBox::indicator {
+ width: 28px;
+ height: 28px;
+ border-radius: 4px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QListView Indicator */
+
+ QListView::indicator:checked,
+ QListView::indicator:checked:selected,
+ QListView::indicator:checked:focus {
+ image: url(icon:/primary/checklist.svg);
+ }
+
+ QListView::indicator:checked:selected:active {
+ image: url(icon:/primary/checklist_invert.svg);
+ }
+
+ QListView::indicator:checked:disabled {
+ image: url(icon:/disabled/checklist.svg);
+ }
+
+ QListView::indicator:indeterminate,
+ QListView::indicator:indeterminate:selected,
+ QListView::indicator:indeterminate:focus {
+ image: url(icon:/primary/checklist_indeterminate.svg);
+ }
+
+ QListView::indicator:indeterminate:selected:active {
+ image: url(icon:/primary/checklist_indeterminate_invert.svg);
+ }
+
+ QListView::indicator:indeterminate:disabled {
+ image: url(icon:/disabled/checklist_indeterminate.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QTableView Indicator */
+
+ QTableView::indicator:enabled:checked,
+ QTableView::indicator:enabled:checked:selected,
+ QTableView::indicator:enabled:checked:focus {
+ image: url(icon:/primary/checkbox_checked.svg);
+ }
+
+ QTableView::indicator:checked:selected:active {
+ image: url(icon:/primary/checkbox_checked_invert.svg);
+ }
+
+ QTableView::indicator:disabled:checked,
+ QTableView::indicator:disabled:checked:selected,
+ QTableView::indicator:disabled:checked:focus {
+ image: url(icon:/disabled/checkbox_checked.svg);
+ }
+
+ QTableView::indicator:enabled:unchecked,
+ QTableView::indicator:enabled:unchecked:selected,
+ QTableView::indicator:enabled:unchecked:focus {
+ image: url(icon:/primary/checkbox_unchecked.svg);
+ }
+
+ QTableView::indicator:unchecked:selected:active {
+ image: url(icon:/primary/checkbox_unchecked_invert.svg);
+ }
+
+ QTableView::indicator:disabled:unchecked,
+ QTableView::indicator:disabled:unchecked:selected,
+ QTableView::indicator:disabled:unchecked:focus {
+ image: url(icon:/disabled/checkbox_unchecked.svg);
+ }
+
+ QTableView::indicator:enabled:indeterminate,
+ QTableView::indicator:enabled:indeterminate:selected,
+ QTableView::indicator:enabled:indeterminate:focus {
+ image: url(icon:/primary/checkbox_indeterminate.svg);
+ }
+
+ QTableView::indicator:indeterminate:selected:active {
+ image: url(icon:/primary/checkbox_indeterminate_invert.svg);
+ }
+
+ QTableView::indicator:disabled:indeterminate,
+ QTableView::indicator:disabled:indeterminate:selected,
+ QTableView::indicator:disabled:indeterminate:focus {
+ image: url(icon:/disabled/checkbox_indeterminate.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QCheckBox and QGroupBox Indicator */
+
+ QCheckBox::indicator:checked,
+ QGroupBox::indicator:checked {
+ image: url(icon:/primary/checkbox_checked.svg);
+ }
+
+ QCheckBox::indicator:unchecked,
+ QGroupBox::indicator:unchecked {
+ image: url(icon:/primary/checkbox_unchecked.svg);
+ }
+
+ QCheckBox::indicator:indeterminate,
+ QGroupBox::indicator:indeterminate {
+ image: url(icon:/primary/checkbox_indeterminate.svg);
+ }
+
+ QCheckBox::indicator:checked:disabled,
+ QGroupBox::indicator:checked:disabled {
+ image: url(icon:/disabled/checkbox_checked.svg);
+ }
+
+ QCheckBox::indicator:unchecked:disabled,
+ QGroupBox::indicator:unchecked:disabled {
+ image: url(icon:/disabled/checkbox_unchecked.svg);
+ }
+
+ QCheckBox::indicator:indeterminate:disabled,
+ QGroupBox::indicator:indeterminate:disabled {
+ image: url(icon:/disabled/checkbox_indeterminate.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QRadioButton Indicator */
+
+ QRadioButton::indicator:checked {
+ image: url(icon:/primary/radiobutton_checked.svg);
+ }
+
+ QRadioButton::indicator:unchecked {
+ image: url(icon:/primary/radiobutton_unchecked.svg);
+ }
+
+ QRadioButton::indicator:checked:disabled {
+ image: url(icon:/disabled/radiobutton_checked.svg);
+ }
+
+ QRadioButton::indicator:unchecked:disabled {
+ image: url(icon:/disabled/radiobutton_unchecked.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QDockWidget */
+
+ QDockWidget {
+ color: #555555;
+ text-transform: uppercase;
+ border: 2px solid #f5f5f5;
+ titlebar-close-icon: url(icon:/primary/close.svg);
+ titlebar-normal-icon: url(icon:/primary/float.svg);
+ border-radius: 4px;
+ }
+
+ QDockWidget::title {
+ text-align: left;
+ padding-left: 36px;
+ padding: 3px;
+ margin-top: 4px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QComboBox indicator */
+
+ QComboBox::indicator:checked {
+ image: url(icon:/primary/checklist.svg);
+ }
+
+ QComboBox::indicator:checked:selected {
+ image: url(icon:/primary/checklist_invert.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Menu Items */
+
+ QComboBox::item,
+ QCalendarWidget QMenu::item,
+ QMenu::item {
+
+ height: 28px;
+
+ border: 8px solid transparent;
+ color: #555555;
+ }
+
+ QCalendarWidget QMenu::item,
+ QMenu::item {
+
+
+ }
+
+
+ QComboBox::item:selected,
+ QCalendarWidget QMenu::item:selected,
+ QMenu::item:selected {
+ color: #3c3c3c;
+ background-color: #75a7ff;
+ border-radius: 0px;
+ }
+
+ QComboBox::item:disabled,
+ QCalendarWidget QMenu::item:disabled,
+ QMenu::item:disabled {
+ color: rgba(85, 85, 85, 0.3);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QMenu */
+
+ QCalendarWidget QMenu,
+ QMenu {
+ background-color: #f5f5f5;
+ border: 2px solid #ffffff;
+ border-radius: 4px;
+ }
+
+ QMenu::separator {
+ height: 2px;
+ background-color: #ffffff;
+ margin-left: 2px;
+ margin-right: 2px;
+ }
+
+ QMenu::right-arrow{
+ image: url(icon:/primary/rightarrow.svg);
+ width: 16px;
+ height: 16px;
+ }
+
+ QMenu::right-arrow:selected{
+ image: url(icon:/disabled/rightarrow.svg);
+ }
+
+ QMenu::indicator:non-exclusive:unchecked {
+ image: url(icon:/primary/checkbox_unchecked.svg);
+ }
+
+ QMenu::indicator:non-exclusive:unchecked:selected {
+ image: url(icon:/primary/checkbox_unchecked_invert.svg);
+ }
+
+ QMenu::indicator:non-exclusive:checked {
+ image: url(icon:/primary/checkbox_checked.svg);
+ }
+
+ QMenu::indicator:non-exclusive:checked:selected {
+ image: url(icon:/primary/checkbox_checked_invert.svg);
+ }
+
+ QMenu::indicator:exclusive:unchecked {
+ image: url(icon:/primary/radiobutton_unchecked.svg);
+ }
+
+ QMenu::indicator:exclusive:unchecked:selected {
+ image: url(icon:/primary/radiobutton_unchecked_invert.svg);
+ }
+
+ QMenu::indicator:exclusive:checked {
+ image: url(icon:/primary/radiobutton_checked.svg);
+ }
+
+ QMenu::indicator:exclusive:checked:selected {
+ image: url(icon:/primary/radiobutton_checked_invert.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QMenuBar */
+
+ QMenuBar {
+ background-color: #f5f5f5;
+ color: #555555;
+ }
+
+ QMenuBar::item {
+ height: 32px;
+ padding: 8px;
+ background-color: transparent;
+ color: #555555;
+ }
+
+ QMenuBar::item:selected,
+ QMenuBar::item:pressed {
+ color: #3c3c3c;
+ background-color: #75a7ff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QToolBox */
+
+ QToolBox::tab {
+ background-color: #f5f5f5;
+ color: #555555;
+ text-transform: uppercase;
+ border-radius: 4px;
+ padding-left: 15px;
+ }
+
+ QToolBox::tab:selected,
+ QToolBox::tab:hover {
+ background-color: rgba(41, 121, 255, 0.2);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QProgressBar */
+
+ QProgressBar {
+ border-radius: 0;
+ background-color: #ffffff;
+ text-align: center;
+ color: transparent;
+ }
+
+ QProgressBar::chunk {
+ background-color: #2979ff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QScrollBar */
+
+ QScrollBar:horizontal {
+ border: 0;
+ background: #f5f5f5;
+ height: 8px;
+ }
+
+ QScrollBar:vertical {
+ border: 0;
+ background: #f5f5f5;
+ width: 8px;
+ }
+
+ QScrollBar::handle {
+ background: rgba(41, 121, 255, 0.1);
+ }
+
+ QScrollBar::handle:horizontal {
+ min-width: 24px;
+ }
+
+ QScrollBar::handle:vertical {
+ min-height: 24px;
+ }
+
+ QScrollBar::handle:vertical:hover,
+ QScrollBar::handle:horizontal:hover {
+ background: #2979ff;
+ }
+
+ QScrollBar::add-line:vertical,
+ QScrollBar::sub-line:vertical,
+ QScrollBar::add-line:horizontal,
+ QScrollBar::sub-line:horizontal {
+ border: 0;
+ background: transparent;
+ width: 0px;
+ height: 0px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QScrollBar-Big */
+
+ QScrollBar.big:horizontal {
+ border: 0;
+ background: #f5f5f5;
+ height: 36px;
+ }
+
+ QScrollBar.big:vertical {
+ border: 0;
+ background: #f5f5f5;
+ width: 36px;
+ }
+
+ QScrollBar.big::handle,
+ QScrollBar.big::handle:vertical:hover,
+ QScrollBar.big::handle:horizontal:hover {
+ background: #2979ff;
+ }
+
+ QScrollBar.big::handle:horizontal {
+ min-width: 24px;
+ }
+
+ QScrollBar.big::handle:vertical {
+ min-height: 24px;
+ }
+
+ QScrollBar.big::add-line:vertical,
+ QScrollBar.big::sub-line:vertical,
+ QScrollBar.big::add-line:horizontal,
+ QScrollBar.big::sub-line:horizontal {
+ border: 0;
+ background: transparent;
+ width: 0px;
+ height: 0px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QSlider */
+
+ QSlider:horizontal {
+ min-height: 24px;
+ max-height: 24px;
+ }
+
+ QSlider:vertical {
+ min-width: 24px;
+ max-width: 24px;
+ }
+
+ QSlider::groove:horizontal {
+ height: 4px;
+ background: #393939;
+ margin: 0 12px;
+ }
+
+ QSlider::groove:vertical {
+ width: 4px;
+ background: #393939;
+ margin: 12px 0;
+ border-radius: 24px;
+ }
+
+ QSlider::handle:horizontal {
+ image: url(icon:/primary/slider.svg);
+ width: 24px;
+ height: 24px;
+ margin: -24px -12px;
+ }
+
+ QSlider::handle:vertical {
+ image: url(icon:/primary/slider.svg);
+ border-radius: 24px;
+ width: 24px;
+ height: 24px;
+ margin: -12px -24px;
+ }
+
+ QSlider::add-page {
+ background: #f5f5f5;
+ }
+
+ QSlider::sub-page {
+ background: #2979ff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QLabel */
+
+ QLabel {
+ border: none;
+ background: transparent;
+ color: #555555
+ }
+
+ QLabel:disabled {
+ color: rgba(85, 85, 85, 0.2)
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* VLines and HLinex */
+
+ QFrame[frameShape="4"] {
+ border-width: 1px 0 0 0;
+ background: none;
+ }
+
+ QFrame[frameShape="5"] {
+ border-width: 0 1px 0 0;
+ background: none;
+ }
+
+ QFrame[frameShape="4"],
+ QFrame[frameShape="5"] {
+ border-color: #ffffff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QToolBar */
+
+ QToolBar {
+ background: #e6e6e6;
+ border: 0px solid;
+ }
+
+ QToolBar:horizontal {
+ border-bottom: 1px solid #ffffff;
+ }
+
+ QToolBar:vertical {
+ border-right: 1px solid #ffffff;
+ }
+
+ QToolBar::handle:horizontal {
+ image: url(icon:/primary/toolbar-handle-horizontal.svg);
+ }
+
+ QToolBar::handle:vertical {
+ image: url(icon:/primary/toolbar-handle-vertical.svg);
+ }
+
+ QToolBar::separator:horizontal {
+ border-right: 1px solid #ffffff;
+ border-left: 1px solid #ffffff;
+ width: 1px;
+ }
+
+ QToolBar::separator:vertical {
+ border-top: 1px solid #ffffff;
+ border-bottom: 1px solid #ffffff;
+ height: 1px;
+ }
+
+
+ /* ------------------------------------------------------------------------ */
+ /* QToolButton */
+
+ QToolButton {
+ background: #e6e6e6;
+ border: 0px;
+ height: 36px;
+ margin: 3px;
+ padding: 3px;
+ border-right: 12px solid #e6e6e6;
+ border-left: 12px solid #e6e6e6;
+ }
+
+ QToolButton:hover {
+ background: #ffffff;
+ border-right: 12px solid #ffffff;
+ border-left: 12px solid #ffffff;
+ }
+
+ QToolButton:pressed {
+ background: #f5f5f5;
+ border-right: 12px solid #f5f5f5;
+ border-left: 12px solid #f5f5f5;
+ }
+
+ QToolButton:checked {
+ background: #ffffff;
+ border-left: 12px solid #ffffff;
+ border-right: 12px solid #2979ff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* General viewers */
+
+ QTableView {
+ background-color: #e6e6e6;
+ border: 1px solid #f5f5f5;
+ border-radius: 4px;
+ }
+
+ QTreeView,
+ QListView {
+ border-radius: 4px;
+ padding: 4px;
+ margin: 0px;
+ border: 0px;
+ }
+
+ QTableView::item,
+ QTreeView::item,
+ QListView::item {
+ padding: 4px;
+ min-height: 32px;
+ color: #555555;
+ selection-color: #555555; /* For Windows */
+ border-color: transparent; /* Fix #34 */
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Items Selection */
+
+ QTableView::item:selected,
+ QTreeView::item:selected,
+ QListView::item:selected {
+ background-color: rgba(41, 121, 255, 0.2);
+ selection-background-color: rgba(41, 121, 255, 0.2);
+ color: #555555;
+ selection-color: #555555; /* For Windows */
+ }
+
+ QTableView::item:selected:focus,
+ QTreeView::item:selected:focus,
+ QListView::item:selected:focus {
+ background-color: #2979ff;
+ selection-background-color: #2979ff;
+ color: #3c3c3c;
+ selection-color: #3c3c3c; /* For Windows */
+ }
+
+ QTableView {
+ selection-background-color: rgba(41, 121, 255, 0.2);
+ }
+
+ QTableView:focus {
+ selection-background-color: #2979ff;
+ }
+
+ QTableView::item:disabled {
+ color: rgba(85, 85, 85, 0.3);
+ selection-color: rgba(85, 85, 85, 0.3);
+ background-color: #f5f5f5;
+ selection-background-color: #f5f5f5;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QTreeView */
+
+ QTreeView::branch{
+ background-color: #f5f5f5;
+ }
+
+ QTreeView::branch:closed:has-children:has-siblings,
+ QTreeView::branch:closed:has-children:!has-siblings {
+ image: url(icon:/primary/branch-closed.svg);
+ }
+
+ QTreeView::branch:open:has-children:!has-siblings,
+ QTreeView::branch:open:has-children:has-siblings {
+ image: url(icon:/primary/branch-open.svg);
+ }
+
+ QTreeView::branch:has-siblings:!adjoins-item {
+ border-image: url(icon:/disabled/vline.svg) 0;
+ }
+
+ QTreeView::branch:has-siblings:adjoins-item {
+ border-image: url(icon:/disabled/branch-more.svg) 0;
+ }
+
+ QTreeView::branch:!has-children:!has-siblings:adjoins-item,
+ QTreeView::branch:has-children:!has-siblings:adjoins-item {
+ border-image: url(icon:/disabled/branch-end.svg) 0;
+ }
+
+ QTreeView QHeaderView::section {
+ border: none;
+ }
+
+
+ /* ------------------------------------------------------------------------ */
+ /* Custom buttons */
+
+ QPushButton.danger {
+ border-color: #dc3545;
+ color: #dc3545;
+ }
+
+ QPushButton.danger:checked,
+ QPushButton.danger:pressed {
+ color: #e6e6e6;
+ background-color: #dc3545;
+ }
+
+ QPushButton.warning{
+ border-color: #ffc107;
+ color: #ffc107;
+ }
+
+ QPushButton.warning:checked,
+ QPushButton.warning:pressed {
+ color: #e6e6e6;
+ background-color: #ffc107;
+ }
+
+ QPushButton.success {
+ border-color: #17a2b8;
+ color: #17a2b8;
+ }
+
+ QPushButton.success:checked,
+ QPushButton.success:pressed {
+ color: #e6e6e6;
+ background-color: #17a2b8;
+ }
+
+ QPushButton.danger:flat:hover {
+ background-color: rgba(220, 53, 69, 0.2);
+ }
+
+ QPushButton.danger:flat:pressed,
+ QPushButton.danger:flat:checked {
+ background-color: rgba(220, 53, 69, 0.1);
+ color: #dc3545;
+ }
+
+ QPushButton.warning:flat:hover {
+ background-color: rgba(255, 193, 7, 0.2);
+ }
+
+ QPushButton.warning:flat:pressed,
+ QPushButton.warning:flat:checked {
+ background-color: rgba(255, 193, 7, 0.1);
+ color: #ffc107;
+ }
+
+ QPushButton.success:flat:hover {
+ background-color: rgba(23, 162, 184, 0.2);
+ }
+
+ QPushButton.success:flat:pressed,
+ QPushButton.success:flat:checked {
+ background-color: rgba(23, 162, 184, 0.1);
+ color: #17a2b8;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QTableView */
+
+ QTableCornerButton::section {
+ background-color: #f5f5f5;
+ border-radius: 0px;
+ border-right: 1px solid;
+ border-bottom: 1px solid;
+ border-color: #e6e6e6;
+ }
+
+ QTableView {
+ alternate-background-color: rgba(245, 245, 245, 0.7);
+ }
+
+ QHeaderView {
+ border: none;
+ }
+
+ QHeaderView::section {
+ color: rgba(85, 85, 85, 0.7);
+ text-transform: uppercase;
+ background-color: #f5f5f5;
+ padding: 0 24px;
+ height: 36px;
+ border-radius: 0px;
+ border-right: 1px solid;
+ border-bottom: 1px solid;
+ border-color: #e6e6e6;
+ }
+
+ QHeaderView::section:vertical {
+
+ }
+
+ QHeaderView::section:horizontal {
+
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QLCDNumber */
+
+ QLCDNumber {
+ color: #2979ff;
+ background-color:rgba(41, 121, 255, 0.1);
+ border: 1px solid rgba(41, 121, 255, 0.3);
+ border-radius: 4px;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QCalendarWidget */
+
+ #qt_calendar_prevmonth {
+ qproperty-icon: url(icon:/primary/leftarrow.svg);
+ }
+
+ #qt_calendar_nextmonth {
+ qproperty-icon: url(icon:/primary/rightarrow.svg);
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Inline QLineEdit */
+
+ QTreeView QLineEdit,
+ QTableView QLineEdit,
+ QListView QLineEdit {
+ color: #555555;
+ background-color: #f5f5f5;
+ border: 1px solid unset;
+ border-radius: unset;
+ padding: unset;
+ padding-left: unset;
+ height: unset;
+ border-width: unset;
+ border-top-left-radius: unset;
+ border-top-right-radius: unset;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QToolTip */
+
+ QToolTip {
+ padding: 4px;
+ border: 1px solid #e6e6e6;
+ border-radius: 4px;
+ color: #555555;
+ background-color: #ffffff;
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* QDialog */
+
+
+ QDialog QToolButton:disabled {
+ background-color: #f5f5f5;
+ color: #555555
+ }
+
+ /* ------------------------------------------------------------------------ */
+ /* Grips */
+
+
+ QMainWindow::separator:vertical,
+ QSplitter::handle:horizontal {
+ image: url(icon:/primary/splitter-horizontal.svg);
+ }
+
+ QMainWindow::separator:horizontal,
+ QSplitter::handle:vertical {
+ image: url(icon:/primary/splitter-vertical.svg);
+ }
+
+ QSizeGrip {
+ image: url(icon:/primary/sizegrip.svg);
+ background-color: transparent;
+ }
+
+ QMenuBar QToolButton:hover,
+ QMenuBar QToolButton:pressed,
+ QMenuBar QToolButton {
+ border-width: 0;
+ border-left: 10px;
+ border-image: url(icon:/primary/rightarrow2.svg);
+ background-color: transparent;
+ }
+
+
+
+
-
+
+
-
+
+
+ 输入参数
-
- QSizePolicy::Fixed
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
-
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ 异常点比例
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ 测试样本数
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ -
+
+
+ 选择模型
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+ 特征维数
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+ 训练样本数
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ 随机种子
+
+
+ Qt::AlignCenter
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 检测结果
-
-
- 20
- 20
-
+
+
-
+
+
+
+ 1030
+ 699
+
+
+
+
+
+
+ :/image/splash.png
+
+
+ true
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+ -
+
+
+ QFrame::StyledPanel
-
-
- -
-
-
- Qt::Vertical
+
+ QFrame::Raised
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 检测结果
-
-
-
-
-
-
-
- 1030
- 699
-
-
-
-
-
-
- :/image/splash.png
-
-
- true
-
-
- Qt::AlignCenter
-
-
-
-
-
-
- -
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
-
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
-
-
-
-
-
-
- Qt::AlignCenter
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- QFrame::StyledPanel
-
-
- QFrame::Raised
-
-
-
- -
-
-
- 24
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- 检测
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
-
+
+
+
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ -
+
+
+ 24
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ 检测
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/res.qrc b/src/res.qrc
index 4bc3054..c337125 100644
--- a/src/res.qrc
+++ b/src/res.qrc
@@ -2,4 +2,4 @@
splash.png
-
+
\ No newline at end of file
diff --git a/src/res_rc.py b/src/res_rc.py
index 5a0aadb..fcee545 100644
--- a/src/res_rc.py
+++ b/src/res_rc.py
@@ -1,17 +1,17 @@
# MIT License
-#
+#
# Copyright (c) 2022 Cong Feng
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -13408,7 +13408,7 @@
\x00\x00\x01\x83\x1f\xdb\x46\xd6\
"
-qt_version = [int(v) for v in QtCore.qVersion().split('.')]
+qt_version = [int(v) for v in QtCore.qVersion().split(".")]
if qt_version < [5, 8, 0]:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
@@ -13416,10 +13416,17 @@
rcc_version = 2
qt_resource_struct = qt_resource_struct_v2
+
def qInitResources():
- QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
+ QtCore.qRegisterResourceData(
+ rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data
+ )
+
def qCleanupResources():
- QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
+ QtCore.qUnregisterResourceData(
+ rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data
+ )
+
qInitResources()