У меня есть кнопка, которая устанавливает / отменяет подсветку проверки орфографии в окне QTextEdit (ref PyQt - Как включить / выключить проверку орфографии ), которая работает отлично.
Затем я добавил язык выбора QComboBox и привязал его сигнал к свойству кнопки, но его подсветка set / unset не работает при смене языка. Это сводит меня с ума, может быть, я сделал что-то маленькое и глупое, но ради этого я не могу найти в этом ничего плохого.
Кнопка (скорее действие) -
self.actionSpellCheck = QAction(QIcon(self.icon_spellcheck),
"Auto &Spellcheck", self,
shortcut=Qt.CTRL + Qt.SHIFT + Qt.Key_O,
triggered=self.spellcheck, checkable=True)
Поле со списком
self.cb_lang = QComboBox(tb)
tb.addWidget(self.cb_lang)
lang_list = self.dict_broker.list_languages()
self.cb_lang.addItems(lang_list)
self.cb_lang.currentIndexChanged.connect(self.spellcheck)
и self.spellcheck
def spellcheck(self):
pos = self.cursor.position()
if self.actionSpellCheck.isChecked():
lang = self.cb_lang.currentText()
self.dict = self.dict_broker.request_dict(lang)
self.highlighter.setDict(self.dict)
self.setHighlighterEnabled(True)
self.show_status("Spellcheck language is set to " + self.dict.tag, None)
else:
self.setHighlighterEnabled(False)
self.highlighter.setDict(None)
self.show_status("Spellcheck is turned off", None)
self.cursor.setPosition(pos, QTextCursor.MoveAnchor)
self.textEdit.setTextCursor(self.cursor)
self.textEdit.setFocus()
Почему при нажатии кнопки подсветка устанавливается / отключается, но при выборе языка ничего не происходит (это происходит только после того, как я начал печатать, а не сразу при выборе в выпадающем списке)? Спасибо.