PyQtWebEngine中的拼写检查

2024-09-30 02:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个主要用python编写的程序,但一些交互功能是通过一个与flask对话的web应用程序完成的。在python程序中有web应用程序会很好,所以我正在考虑使用PyQtWebEngine

除了我无法进行拼写检查外,这项工作出人意料地好。我跑了

self.page().profile().setSpellCheckEnabled(True)
self.page().profile().setSpellCheckLanguages({"en-GB"})

QWebEngineView的子类内部,我检查了isSpellCheckEnabled()是否为真

我想知道它是否找不到语言。没有检测到qWarning,如果它找不到字典,我会看到它。正如non-python example所建议的那样

我有一个en-GB.bdic是从git复制的。我已尝试将文件放在:

<directory_my_py_file_is_in>/qtwebengine_dictionaries/en-GB.bdic

当我跑的时候

app = QApplication(sys.argv)
print(app.applicationDirPath())

结果是

/usr/bin

所以我试过了

/usr/bin/qtwebengine_dictionaries/en-GB.bdic

这是不好的,因为当程序安装了pip时,我无法编辑此位置,但值得一试

由于.bdic文件位于任意位置,我从未看到任何拼写检查功能

有人在PyQtWebEngine中进行拼写检查吗?我在文档方面找不到太多东西


Tags: 文件self程序功能webapp应用程序page
1条回答
网友
1楼 · 发布于 2024-09-30 02:31:33

假设.bdic是有效的,那么我已经通过环境变量QTWEBENGINE_DICTIONARIES_PATH建立了字典的路径,例如,我已经用以下结构将官方示例翻译成python:

├── data
│   ├── icon.svg
│   ├── index.html
│   ├── spellchecker.qrc
│   └── style.css
├── dict
│   ├── de
│   │   ├── de-DE.aff
│   │   ├── de-DE.dic
│   │   └── README.txt
│   └── en
│       ├── en-US.aff
│       ├── en-US.dic
│       └── README.txt
├── main.py
├── spellchecker_rc.py
├── qtwebengine_dictionaries
│   ├── de-DE.bdic
│   └── en-US.bdic
└── README.md

main.py

# ...
CURRENT_DIR = os.path.dirname(os.path.realpath(__file__))
os.environ["QTWEBENGINE_DICTIONARIES_PATH"] = os.path.join(
    CURRENT_DIR, "qtwebengine_dictionaries"
)
# ...

注意:为了获得bdic,我使用了qwebengine\u convert\u dict工具执行:

qwebengine_convert_dict dict/en/en-US.dic qtwebengine_dictionaries/en-US.bdic
qwebengine_convert_dict dict/de/de-DE.dic qtwebengine_dictionaries/de-DE.bdic

完整的代码是here

相关问题 更多 >

    热门问题