Не могу использовать fcitx с написанным самим приложением Qt
Я изучаю pyqt5 и почему-то не могу использовать fcitx в текстовом поле, созданном QTextEdit или QLineEdit, хотя fcitx нормально работает с другими приложениями Qt, такими как goldendict или kate. Но позже я узнал, что fcitx также не работает с другим приложением Qt по имени Retext, которое использует Qt 5.10. Может быть, это как-то связано с последней версией Qt, или я так думаю.
Вот мой код, просто текстовое поле и ничего больше:
import PyQt5.QtWidgets as QtWidgets
import sys
class App(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.text = QtWidgets.QTextEdit()
self.initUI()
def initUI(self):
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(self.text)
self.setLayout(vbox)
self.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
1 ответ
Спасибо @ekhumoro, я знаю, как это исправить. Просто включите метод ввода, добавив эту строку в __init__
функция:
self.setAttribute(Qt.WA_InputMethodEnabled)
Затем сделайте это:
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/fcitxplatforminputcontextplugin.so ~/.local/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforminputcontexts
sudo chmod +x ~/.local/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforminputcontexts/fcitxplatforminputcontextplugin.so