Exemplo n.º 1
0
    def __init__(self, parent=None):
        super().__init__()
        self.parent = parent
        hlayout = QHBoxLayout()
        self.setLayout(hlayout)

        font_combobox = QFontComboBox()
        font_combobox.setEditable(False)
        font_combobox.setFixedHeight(30)
        font_combobox.setStyleSheet("QFontComboBox {background-color: white; color: black; border-radius: 3px;\
                                     border-color: lightgray; border-style: solid; border-width:2px;} \
                                     QFontComboBox::down-arrow {image: url(/usr/share/icons/breeze/actions/24/arrow-down)} \
                                     QFontComboBox::drop-down {border:none;}")
        font_combobox.setCurrentText(settings().value("Subtitle/font"))
        hlayout.addWidget(font_combobox)

        self.color_button = QPushButton()
        self.color_button.setFixedSize(30, 30)
        self.color_button.setStyleSheet("QPushButton {border: 1px solid black; border-radius: 3px; \
                                    background-color: %s; }"%(settings().value("Subtitle/color") or QColor("#ffffff")).name())
        hlayout.addWidget(self.color_button)

        self.color_button.clicked.connect(self.colorSelected)
        font_combobox.currentIndexChanged[str].connect(self.fontChanged)
Exemplo n.º 2
0
    def initUI(self):
        oImage = QImage("background.jpg")
        entireHBox = QHBoxLayout()

        firstSubVBoxes = [QVBoxLayout(), QVBoxLayout()]
        for vBox in firstSubVBoxes:
            entireHBox.addLayout(vBox)
        secondSubHBoxesLeft = [QHBoxLayout() for i in range(4)]  #4
        secondSubHBoxesRight = [QHBoxLayout() for i in range(2)]

        for layout in secondSubHBoxesLeft:
            firstSubVBoxes[0].addLayout(layout)
        for layout in secondSubHBoxesRight:
            firstSubVBoxes[1].addLayout(layout)

        self.equalizer = EqualizerBar(35, [
            '#0C0786', '#40039C', '#6A00A7', '#8F0DA3', '#B02A8F', '#CA4678',
            '#E06461', '#F1824C', '#FCA635', '#FCCC25', '#EFF821'
        ])

        self.leftTopWidgets = [
            QLabel("From: "),
            QComboBox(),
            QLabel("To: "),
            QComboBox(),
            QLabel("Filename: "),
            QLineEdit(),
            QLabel("00:00"),
            QPushButton("Record")
        ]
        #language options should be expanded to all the available languages in BCP-47 language tags
        for widget in self.leftTopWidgets:
            widget.setStyleSheet("background-color: #c6c4c5;")

        self.leftTopWidgets[1].addItems(["English", "Korean"])

        self.leftTopWidgets[3].addItems(
            ["Amharic", "Chinese", "English", "Korean"])
        self.languagetoCode = {"English": "en-US", "Korean": "ko"}
        self.leftMiddleWidgets = [
            QLabel("Filename: "),
            QLineEdit(),
            QPushButton("New File")
        ]
        for widget in self.leftMiddleWidgets:
            widget.setStyleSheet("background-color: #c6c4c5;")
        self.textButtons = [
            QPushButton("Bold"),
            QPushButton("Italics"),
            QPushButton("Underline"),
            QPushButton("Color"),
            QPushButton("Highlight")
        ]

        fontBox = QFontComboBox(self)
        fontBox.currentFontChanged.connect(self.fontFamily)
        fontBox.setStyleSheet("background-color: #c6c4c5;")

        fontSize = QComboBox(self)
        fontSize.setEditable(True)
        fontSize.setStyleSheet("background-color: #c6c4c5;")

        # Minimum number of chars displayed
        fontSize.setMinimumContentsLength(3)

        fontSize.activated.connect(self.fontSize)

        # Typical font sizes
        fontSizes = [
            '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '18',
            '20', '22', '24', '26', '28', '32', '36', '40', '44', '48', '54',
            '60', '66', '72', '80', '88', '96'
        ]

        for i in fontSizes:
            fontSize.addItem(i)

        for widget in self.textButtons:
            widget.setStyleSheet("background-color: #c6c4c5;")

        self.textPageLeft = QTextEdit()
        self.textPageLeft.setReadOnly(True)
        self.textPageRight = QTextEdit()

        self.textPageRight.setTabStopWidth(33)

        self.textPageRight.setStyleSheet("background-color: #c6c4c5;")
        self.textPageLeft.setStyleSheet("background-color: #c6c4c5;")

        for widget in self.leftTopWidgets:
            secondSubHBoxesLeft[0].addWidget(widget)

        secondSubHBoxesLeft[1].addWidget(self.equalizer)

        self._timer = QtCore.QTimer()
        self._timer.setInterval(5)
        self._timer.timeout.connect(self.update_values)

        self._timer.start()

        self._timer2 = QtCore.QTimer()
        self._timer2.setInterval(1000)
        self._timer2.timeout.connect(self.updateTime)

        #(self.waveDisplay)
        for widget in self.leftMiddleWidgets:
            secondSubHBoxesLeft[2].addWidget(widget)
        secondSubHBoxesLeft[3].addWidget(self.textPageLeft)
        for button in self.textButtons:
            secondSubHBoxesRight[0].addWidget(button)

        secondSubHBoxesRight[0].addWidget(fontBox)
        secondSubHBoxesRight[0].addWidget(fontSize)

        secondSubHBoxesRight[1].addWidget(self.textPageRight)

        self.leftTopWidgets[7].clicked.connect(self.buttonClicked)

        self.leftMiddleWidgets[2].clicked.connect(self.buttonClicked)

        for button in self.textButtons:
            button.clicked.connect(self.buttonClicked)
        #self.setGeometry(100, 100, 1700, 1000)
        #self.setGeometry(100, 100, 17, 500)
        #self.showFullScreen()
        self.setWindowTitle('Take Class')
        self.setLayout(entireHBox)

        oImage = QImage("1.jpg")
        sImage = oImage.scaled(QSize(100, 100))  # resize Image to widgets size

        palette = QPalette()
        palette.setBrush(QPalette.Window, QBrush(sImage))
        self.setPalette(palette)

        self.label = QLabel(self)  # test, if it's really backgroundimage

        self.show()
Exemplo n.º 3
0
class SettinInterface(QWidget):
    def __init__(self, screen_scale_rate):
        super(SettinInterface, self).__init__()

        if 1.01 <= screen_scale_rate <= 1.49:
            self.rate = 1.25
            self.px = 80
            self.image_sign = 2
        else:
            self.rate = 1
            self.px = 75
            self.image_sign = 1

        self.get_settin()
        self.setupUi()

    def setupUi(self):

        # 窗口尺寸及不可拉伸
        self.setWindowFlags(Qt.WindowStaysOnTopHint)
        self.resize(404 * self.rate, 576 * self.rate)
        self.setMinimumSize(QSize(404 * self.rate, 576 * self.rate))
        self.setMaximumSize(QSize(404 * self.rate, 576 * self.rate))
        self.setWindowFlags(Qt.WindowMinimizeButtonHint)

        # 窗口标题
        self.setWindowTitle("设置")

        # 窗口样式
        # self.setStyleSheet("QWidget {""font: 9pt \"华康方圆体W7\";"
        #                    "background-image: url(./config/Background%d.jpg);"
        #                    "background-repeat: no-repeat;"
        #                    "background-size:cover;""}" % self.image_sign)
        self.setStyleSheet("QWidget {" "font: 9pt \"微软雅黑\"};")  # 华康方圆体W7

        # 窗口图标
        self.icon = QIcon()
        self.icon.addPixmap(QPixmap(folder_path + "/config/logo.ico"),
                            QIcon.Normal, QIcon.On)
        self.setWindowIcon(self.icon)

        # 顶部工具栏
        self.tabWidget = QTabWidget(self)
        self.tabWidget.setGeometry(
            QRect(-2, 0, 410 * self.rate, 580 * self.rate))
        self.tabWidget.setCurrentIndex(0)

        # 工具栏样式
        self.tabWidget.setStyleSheet("QTabBar::tab {"
                                     "min-width:%dpx;"
                                     "background: rgba(255, 255, 255, 1);"
                                     "}"
                                     "QTabBar::tab:selected {"
                                     "border-bottom: 2px solid #4796f0;"
                                     "}"
                                     "QLabel{"
                                     "background: transparent;"
                                     "}"
                                     "QCheckBox{"
                                     "background: transparent;"
                                     "}" % (self.px))

        # 工具栏2
        self.tab_2 = QWidget()
        self.tabWidget.addTab(self.tab_2, "")
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), "设置")

        # 原语言标签
        self.translateSource_label_6 = QLabel(self.tab_2)
        self.translateSource_label_6.setGeometry(
            QRect(30 * self.rate, 20 * self.rate, 151 * self.rate,
                  16 * self.rate))
        self.translateSource_label_6.setText("待识别的语言类型:")

        # 原语言comboBox
        self.language_comboBox = QComboBox(self.tab_2)
        self.language_comboBox.setGeometry(
            QRect(190 * self.rate, 20 * self.rate, 150 * self.rate,
                  22 * self.rate))
        for idx, language_name in enumerate(config.language_name):
            self.language_comboBox.addItem("")
            self.language_comboBox.setItemText(idx, language_name[1])
        self.language_comboBox.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4);")
        self.language_comboBox.setCurrentIndex(self.language)

        # 是否显示识别结果checkBox
        self.vis_result_checkBox = QCheckBox(self.tab_2)
        self.vis_result_checkBox.setGeometry(
            QRect(30 * self.rate, 52 * self.rate, 300 * self.rate,
                  16 * self.rate))
        self.vis_result_checkBox.setChecked(self.vis_result)
        self.vis_result_checkBox.setText("可视化识别结果(对识别结果进行修改及导出)")

        # 自动复制到剪贴板checkBox
        self.Clipboard_checkBox = QCheckBox(self.tab_2)
        self.Clipboard_checkBox.setGeometry(
            QRect(30 * self.rate, 80 * self.rate, 231 * self.rate,
                  16 * self.rate))
        self.Clipboard_checkBox.setChecked(self.showClipboard)
        self.Clipboard_checkBox.setText("识别结果自动复制到剪贴板")

        # 字体大小设定标签
        self.fontSize_label = QLabel(self.tab_2)
        self.fontSize_label.setGeometry(
            QRect(30 * self.rate, 120 * self.rate, 145 * self.rate,
                  16 * self.rate))
        self.fontSize_label.setText("显示文字大小:")

        # 字体大小设定
        self.fontSize_spinBox = QSpinBox(self.tab_2)
        self.fontSize_spinBox.setGeometry(
            QRect(190 * self.rate, 120 * self.rate, 50 * self.rate,
                  25 * self.rate))
        self.fontSize_spinBox.setMinimum(10)
        self.fontSize_spinBox.setMaximum(30)
        self.fontSize_spinBox.setStyleSheet(
            "background: rgba(255, 255, 255, 0)")
        self.fontSize_spinBox.setValue(self.fontSize)

        # 字体样式设定标签
        self.translate_label = QLabel(self.tab_2)
        self.translate_label.setGeometry(
            QRect(30 * self.rate, 145 * self.rate, 145 * self.rate,
                  20 * self.rate))
        self.translate_label.setText("显示字体类型:")

        # 字体样式设定
        self.fontComboBox = QFontComboBox(self.tab_2)
        self.fontComboBox.setGeometry(
            QRect(190 * self.rate, 145 * self.rate, 151 * self.rate,
                  25 * self.rate))
        self.fontComboBox.setStyleSheet("background: rgba(255, 255, 255, 0.4)")
        self.fontComboBox.activated[str].connect(self.get_fontType)
        self.ComboBoxFont = QFont(self.fontType)
        self.fontComboBox.setCurrentFont(self.ComboBoxFont)

        # 字体颜色设定标签
        self.colour_label = QLabel(self.tab_2)
        self.colour_label.setGeometry(
            QRect(30 * self.rate, 172 * self.rate, 340 * self.rate,
                  25 * self.rate))
        self.colour_label.setText("显示文字颜色:")

        # 字体颜色按钮
        self.originalColour_toolButton = QToolButton(self.tab_2)
        self.originalColour_toolButton.setGeometry(
            QRect(190 * self.rate, 175 * self.rate, 71 * self.rate,
                  25 * self.rate))
        self.originalColour_toolButton.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4); color: {};".format(
                self.originalColor))
        self.originalColour_toolButton.clicked.connect(
            lambda: self.get_font_color())
        self.originalColour_toolButton.setText("选择颜色")

        # 显示颜色样式checkBox
        self.showColorType_checkBox = QCheckBox(self.tab_2)
        self.showColorType_checkBox.setGeometry(
            QRect(30 * self.rate, 200 * self.rate, 340 * self.rate,
                  20 * self.rate))
        self.showColorType_checkBox.setChecked(self.showColorType)
        self.showColorType_checkBox.setText("是否使用实心字体样式(不勾选则显示描边字体样式)")

        # 截屏键快捷键checkBox
        self.shortcutKey2_checkBox = QCheckBox(self.tab_2)
        self.shortcutKey2_checkBox.setGeometry(
            QRect(30 * self.rate, 250 * self.rate, 160 * self.rate,
                  16 * self.rate))
        self.shortcutKey2_checkBox.setStyleSheet("background: transparent;")
        self.shortcutKey2_checkBox.setChecked(self.showHotKey2)
        self.shortcutKey2_checkBox.setText("是否使用截屏快捷键:")

        # 截屏键的快捷键
        self.HotKey2_ComboBox = QComboBox(self.tab_2)
        self.HotKey2_ComboBox.setGeometry(
            QRect(200 * self.rate, 250 * self.rate, 120 * self.rate,
                  21 * self.rate))
        self.HotKey2_ComboBox.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4);")
        for index, HotKey in enumerate(self.HotKeys):
            self.HotKey2_ComboBox.addItem("")
            self.HotKey2_ComboBox.setItemText(index, HotKey)
        self.HotKey2_ComboBox.setCurrentIndex(self.showHotKey1Value2)

        # 翻译键快捷键checkBox
        self.shortcutKey1_checkBox = QCheckBox(self.tab_2)
        self.shortcutKey1_checkBox.setGeometry(
            QRect(30 * self.rate, 280 * self.rate, 160 * self.rate,
                  16 * self.rate))
        self.shortcutKey1_checkBox.setStyleSheet("background: transparent;")
        self.shortcutKey1_checkBox.setChecked(self.showHotKey1)
        self.shortcutKey1_checkBox.setText("是否使用识别快捷键:")

        # 翻译键的快捷键
        self.HotKey1_ComboBox = QComboBox(self.tab_2)
        self.HotKey1_ComboBox.setGeometry(
            QRect(200 * self.rate, 280 * self.rate, 120 * self.rate,
                  21 * self.rate))
        self.HotKey1_ComboBox.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4);")
        for index, HotKey in enumerate(self.HotKeys):
            self.HotKey1_ComboBox.addItem("")
            self.HotKey1_ComboBox.setItemText(index, HotKey)
        self.HotKey1_ComboBox.setCurrentIndex(self.showHotKey1Value1)

        # 是否翻译
        self.translate_checkBox = QCheckBox(self.tab_2)
        self.translate_checkBox.setGeometry(
            QRect(30 * self.rate, 315 * self.rate, 300 * self.rate,
                  16 * self.rate))
        self.translate_checkBox.setChecked(self.need_translate)
        self.translate_checkBox.setText("是否翻译为汉语")

        # 是否翻译
        self.show_org_checkBox = QCheckBox(self.tab_2)
        self.show_org_checkBox.setGeometry(
            QRect(30 * self.rate, 340 * self.rate, 300 * self.rate,
                  16 * self.rate))
        self.show_org_checkBox.setChecked(self.showOriginal)
        self.show_org_checkBox.setText("翻译后是否显示原文")

        # 翻译框透明度设定标签1
        self.tab4_label_1 = QLabel(self.tab_2)
        self.tab4_label_1.setGeometry(
            QRect(30 * self.rate, 380 * self.rate, 211 * self.rate,
                  16 * self.rate))
        self.tab4_label_1.setText("调节显示界面的透明度")

        # 翻译框透明度设定
        self.horizontalSlider = QSlider(self.tab_2)
        self.horizontalSlider.setGeometry(
            QRect(30 * self.rate, 400 * self.rate, 347 * self.rate,
                  22 * self.rate))
        self.horizontalSlider.setStyleSheet("background: transparent;")
        self.horizontalSlider.setMaximum(100)
        self.horizontalSlider.setOrientation(Qt.Horizontal)
        self.horizontalSlider.setValue(self.horizontal)
        self.horizontalSlider.valueChanged.connect(self.get_horizontal)

        # 翻译框透明度设定标签2
        self.tab2_label_2 = QLabel(self.tab_2)
        self.tab2_label_2.setGeometry(
            QRect(30 * self.rate, 420 * self.rate, 61 * self.rate,
                  20 * self.rate))
        self.tab2_label_2.setText("完全透明")

        # 翻译框透明度设定标签3
        self.tab2_label_3 = QLabel(self.tab_2)
        self.tab2_label_3.setGeometry(
            QRect(310 * self.rate, 420 * self.rate, 71 * self.rate,
                  20 * self.rate))
        self.tab2_label_3.setText("完全不透明")

        # 工具栏3
        self.tab_3 = QWidget()
        self.tabWidget.addTab(self.tab_3, "")
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), "关于")

        self.tab3_label = QLabel(self.tab_3)
        self.tab3_label.setGeometry(
            QRect(30 * self.rate, 75 * self.rate, 100 * self.rate,
                  40 * self.rate))
        self.tab3_label.setText("说明:")

        self.tab3_label2 = QLabel(self.tab_3)
        self.tab3_label2.setTextInteractionFlags(Qt.TextSelectableByMouse)
        self.tab3_label2.setWordWrap(True)
        self.tab3_label2.setGeometry(
            QRect(50 * self.rate, 100 * self.rate, 400 * self.rate,
                  80 * self.rate))
        self.tab3_label2.setText(
            "Dango-OCR是一款开源的OCR文字识别软件。\n如果在使用过程中有什么问题或者建议,欢迎微信交流(itlane)\n"
            "或者在github(https://github.com/zhangming8/Dango-ocr)\n上留言")

        self.tab3_label3 = QLabel(self.tab_3)
        self.tab3_label3.setWordWrap(True)
        self.tab3_label3.setGeometry(
            QRect(30 * self.rate, 350 * self.rate, 400 * self.rate,
                  80 * self.rate))
        self.tab3_label3.setText(
            "参考:\n        https://github.com/zhangming8/ocr_algo_server\n        "
            "https://github.com/PaddlePaddle/PaddleOCR\n        "
            "https://github.com/PantsuDango/Dango-Translator")

        # 设置保存按钮
        self.SaveButton = QPushButton(self)
        self.SaveButton.setGeometry(
            QRect(85 * self.rate, 515 * self.rate, 90 * self.rate,
                  30 * self.rate))
        self.SaveButton.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4);font: 12pt;")
        self.SaveButton.setText("保存设置")

        # 设置返回按钮
        self.CancelButton = QPushButton(self)
        self.CancelButton.setGeometry(
            QRect(232 * self.rate, 515 * self.rate, 90 * self.rate,
                  30 * self.rate))
        self.CancelButton.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4);font: 12pt")
        self.CancelButton.setText("退 出")

    def get_settin(self):  # 获取所有预设值

        with open(folder_path + '/config/settin.json') as file:
            self.data = load(file)

        # 获取各翻译源颜色预设值
        self.originalColor = self.data["fontColor"]["original"]

        # 获取翻译字体大小预设值
        self.fontSize = self.data["fontSize"]

        # 获取翻译字体样式预设值
        self.fontType = self.data["fontType"]

        # 获取颜色样式预设值
        self.showColorType = self.data["showColorType"]
        if self.showColorType == "True":
            self.showColorType = True
        else:
            self.showColorType = False

        # 获取是否显示原文预设值
        self.showOriginal = self.data["showOriginal"]
        if self.showOriginal == "True":
            self.showOriginal = True
        else:
            self.showOriginal = False

        # 获取是否将原文复制到剪贴板预设值
        self.showClipboard = self.data["showClipboard"]
        if self.showClipboard == "True":
            self.showClipboard = True
        else:
            self.showClipboard = False

        self.vis_result = self.data.get("vis_result", False)
        if self.vis_result == "True":
            self.vis_result = True
        else:
            self.vis_result = False

        self.need_translate = self.data.get("need_translate", False)
        if self.need_translate == "True":
            self.need_translate = True
        else:
            self.need_translate = False

        # 所有可设置的快捷键
        self.HotKeys = [
            'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11',
            'F12', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
            'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
            'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Back',
            'Tab', 'Space', 'Left', 'Up', 'Right', 'Down', 'Delete', 'Numpad0',
            'Numpad1', 'Numpad2', 'Numpad3', 'Numpad4', 'Numpad5', 'Numpad6',
            'Numpad7', 'Numpad8', 'Numpad9'
        ]
        self.QtHotKeys = [
            Qt.Key_F1, Qt.Key_F2, Qt.Key_F3, Qt.Key_F4, Qt.Key_F5, Qt.Key_F6,
            Qt.Key_F7, Qt.Key_F8, Qt.Key_F9, Qt.Key_F10, Qt.Key_F11,
            Qt.Key_F12, Qt.Key_A, Qt.Key_B, Qt.Key_C, Qt.Key_D, Qt.Key_E,
            Qt.Key_F, Qt.Key_G, Qt.Key_H, Qt.Key_I, Qt.Key_J, Qt.Key_K,
            Qt.Key_L, Qt.Key_M, Qt.Key_N, Qt.Key_O, Qt.Key_P, Qt.Key_Q,
            Qt.Key_R, Qt.Key_S, Qt.Key_T, Qt.Key_U, Qt.Key_V, Qt.Key_W,
            Qt.Key_X, Qt.Key_Y, Qt.Key_Z, Qt.Key_0, Qt.Key_1, Qt.Key_2,
            Qt.Key_3, Qt.Key_4, Qt.Key_5, Qt.Key_6, Qt.Key_7, Qt.Key_8,
            Qt.Key_9, Qt.Key_Back, Qt.Key_Tab, Qt.Key_Space, Qt.Key_Left,
            Qt.Key_Up, Qt.Key_Right, Qt.Key_Down, Qt.Key_Delete, Qt.Key_0,
            Qt.Key_1, Qt.Key_2, Qt.Key_3, Qt.Key_4, Qt.Key_5, Qt.Key_6,
            Qt.Key_7, Qt.Key_8, Qt.Key_9
        ]
        self.QtHotKeysMaps = {}
        for idx in range(len(self.HotKeys)):
            self.QtHotKeysMaps[self.HotKeys[idx]] = self.QtHotKeys[idx]

        # 获取翻译键快捷键的热键预设值
        self.showHotKey1Value1 = self.data["showHotKeyValue1"]
        self.showHotKey1Value1 = self.HotKeys.index(self.showHotKey1Value1)

        # 获取范围键快捷键的热键预设值
        self.showHotKey1Value2 = self.data["showHotKeyValue2"]
        self.showHotKey1Value2 = self.HotKeys.index(self.showHotKey1Value2)

        # 获取是否启用翻译键快捷键预设值
        self.showHotKey1 = self.data["showHotKey1"]
        if self.showHotKey1 == "True":
            self.showHotKey1 = True
        else:
            self.showHotKey1 = False

        # 获取是否启用范围键快捷键预设值
        self.showHotKey2 = self.data["showHotKey2"]
        if self.showHotKey2 == "True":
            self.showHotKey2 = True
        else:
            self.showHotKey2 = False

        # 获取文本框透明度预设值
        self.horizontal = self.data["horizontal"]

        # 获取翻译语言预设值
        self.language = config.language_map_reverse[self.data["language"]]

    def get_font_color(self):  # 各翻译源字体颜色
        color = QColorDialog.getColor()
        self.originalColor = color.name()
        self.originalColour_toolButton.setStyleSheet(
            "background: rgba(255, 255, 255, 0.4);color: {};".format(
                color.name()))
        self.data["fontColor"]["original"] = self.originalColor

    def get_fontType(self, text):  # 字体样式

        self.fontType = text
        self.data["fontType"] = self.fontType

    def showColorType_state(self):  # 颜色样式

        if self.showColorType_checkBox.isChecked():
            self.showColorType = "True"
        else:
            self.showColorType = "False"
        self.data["showColorType"] = self.showColorType

    def showClipboard_state(self):  # 是否将原文自动复制到剪贴板

        if self.Clipboard_checkBox.isChecked():
            self.showClipboard = "True"
        else:
            self.showClipboard = "False"
        self.data["showClipboard"] = self.showClipboard

    def VisResult_state(self):
        if self.vis_result_checkBox.isChecked():
            self.vis_result = "True"
        else:
            self.vis_result = "False"
        self.data["vis_result"] = self.vis_result

    def NeedTranslate_state(self):
        if self.translate_checkBox.isChecked():
            self.need_translate = "True"
        else:
            self.need_translate = "False"
        self.data["need_translate"] = self.need_translate

    def ShowOrigion_state(self):
        if self.show_org_checkBox.isChecked():
            self.showOriginal = "True"
        else:
            self.showOriginal = "False"
        self.data["showOriginal"] = self.showOriginal

    def showHotKey1_state(self):  # 是否启用翻译键快捷键

        if self.shortcutKey1_checkBox.isChecked():
            self.showHotKey1 = "True"
        else:
            self.showHotKey1 = "False"
        self.data["showHotKey1"] = self.showHotKey1

    def showHotKey2_state(self):  # 是否启用范围键快捷键

        if self.shortcutKey2_checkBox.isChecked():
            self.showHotKey2 = "True"
        else:
            self.showHotKey2 = "False"
        self.data["showHotKey2"] = self.showHotKey2

    def get_horizontal(self):  # 文本框透明度

        self.horizontal = self.horizontalSlider.value()
        self.data["horizontal"] = self.horizontal

    def save_fontSize(self):  # 翻译源字体大小

        self.data["fontSize"] = self.fontSize_spinBox.value()

    def range(self):

        with open(folder_path + '/config/settin.json') as file:
            data1 = load(file)

            self.data["range"]["X1"] = data1["range"]["X1"]
            self.data["range"]["Y1"] = data1["range"]["Y1"]
            self.data["range"]["X2"] = data1["range"]["X2"]
            self.data["range"]["Y2"] = data1["range"]["Y2"]

    def save_language(self):  # 保存翻译语种

        self.data["language"] = config.language_map[
            self.language_comboBox.currentIndex()][0]

    def save_showHotKeyValue1(self):  # 保存翻译键快捷键
        HotKey_index = self.HotKey1_ComboBox.currentIndex()
        self.data["showHotKeyValue1"] = self.HotKeys[HotKey_index]

    def save_showHotKeyValue2(self):  # 保存范围键快捷键
        HotKey_index = self.HotKey2_ComboBox.currentIndex()
        self.data["showHotKeyValue2"] = self.HotKeys[HotKey_index]

    def save_settin(self):

        self.range()
        self.get_horizontal()
        self.save_fontSize()

        self.showColorType_state()
        self.showClipboard_state()
        self.VisResult_state()
        self.NeedTranslate_state()
        self.ShowOrigion_state()
        self.save_language()

        self.showHotKey1_state()
        self.showHotKey2_state()
        self.save_showHotKeyValue1()
        self.save_showHotKeyValue2()

        with open(folder_path + '/config/settin.json', 'w') as file:
            dump(self.data, file, indent=2)

        MessageBox('保存设置', '保存成功啦 ヾ(๑╹◡╹)ノ"')