Не могу использовать fcitx с написанным самим приложением Qt - PullRequest
0 голосов
/ 28 апреля 2018

Я изучаю 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 Ответ

0 голосов
/ 29 апреля 2018

Спасибо @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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...