잘 작동하는 QTextEdit 상자 (ref PyQt - How to turn on/off spellchecking)에 맞춤법 검사를 설정/해제하는 버튼이 있습니다.PyQt - 맞춤법 검사 하이라이트 기능을 켜거나 끄는 방법
그럼 언어 선택 QComboBox를 추가하고 단추의 속성에 신호를 연결했지만 강조 표시 집합/설정 해제는 언어 변경에 작동하지 않습니다. 그것은 내게 열매를 맺고, 내가 한 일은 작고 어리석은 일이 있을지 모르지만, 그걸로 나는 그것에 대해 잘못된 것을 발견 할 수 없다.
버튼은 (조치는 오히려) 콤보 상자가
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.actionSpellCheck = QAction(QIcon(self.icon_spellcheck),
"Auto &Spellcheck", self,
shortcut=Qt.CTRL + Qt.SHIFT + Qt.Key_O,
triggered=self.spellcheck, checkable=True)
하고 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()
입니다 버튼을 클릭했지만 언어를 선택할 때 아무런 변화가 없습니다 (입력을 시작한 후에 만 발생합니다. 콤보 상자 선택시)? 고맙습니다.
나는 그것을 시도 할 것이다 :
그래서 당신은 다음과 같이
spellcheck
방법을 개정 할 필요가있다. 하지만 내가 말했듯이, 버튼을 누를 때 다시 하이라이트() 없이도 제대로 작동합니다. 내가 정확히 같은 방법을 사용하는 경우 콤보 박스 변경이 작동하지 않는 이유를 모르겠다. – linuxoid네, 콤보 상자에서 언어를 바꿀 때 작동합니다. 고맙습니다. – linuxoid