fcitx5 사용시 PyQt5에서 한글 입력안되는 문제 해결 방법
fcitx5 사용시 PyQt5에서 한글 입력안되는 문제 해결하는 방법입니다.
2024. 10. 28 최초작성
크롬 웹브라우저에서 구글 문서 사용시 한글 입력 오타가 생기는 문제를 fcitx5를 설치하여 해결했습니다.
fcitx5 설치방법은 아래 영상을 참고하세요.
https://youtu.be/hqZaEg-ELPA?si=mjsZ1Fg_GPqimSg2
하지만 fcitx5 한글 입력기를 설치한 후, pyQt5를 사용하여 작성한 프로그램에서 한글이 입력안되는 문제가 생겼습니다.
수소문하다가 방법을 찾았습니다.
https://github.com/kt5965/test_dict
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/에 있는 파일들을 pyQt5의 플러그인 디렉토리에 복사해주면 됩니다.
miniconda를 기준으로는 다음처럼 python 가상환경의 pyQt5의 플러그인 디렉토리에 복사해주었습니다.
$ sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/* /home/webnautes/miniconda3/envs/python/lib/python3.12/site-packages/PyQt5/Qt5/plugins/platforminputcontexts/
python 가상환경 이름입니다.
python3.12 설치된 파이썬 버전과 맞추면 됩니다.
복사해준 후 한글 입력이 잘됩니다.
테스트에 사용한 pyQt5 코드입니다.
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit class SimpleEditor(QMainWindow): def __init__(self): super().__init__() # 윈도우 설정 self.setWindowTitle('텍스트 에디터') self.setGeometry(100, 100, 600, 400) # x위치, y위치, 너비, 높이 # 텍스트 에디트 위젯 생성 self.textEdit = QTextEdit() self.setCentralWidget(self.textEdit) if __name__ == '__main__': app = QApplication(sys.argv) editor = SimpleEditor() editor.show() sys.exit(app.exec_()) |