我正在编写一个主要用python编写的程序,但一些交互功能是通过一个与flask对话的web-app来完成的,如果能在python程序中加入web-app就更好了,所以我想使用PyQtWebEngine。如果能在python程序中加入web应用程序就更好了,所以我正在考虑使用PyQtWebEngine。
除了不能进行拼写检查之外,这个功能出奇的好。我已经运行了
self.page().profile().setSpellCheckEnabled(True)
self.page().profile().setSpellCheckLanguages({"en-GB"})
从我的孩子班里 QWebEngineView
我已经检查过了 isSpellCheckEnabled()
是真。
我想知道它是否找不到语言。没有检测到qWarning,如果它找不到字典的话,我也会这样想。正如建议的 非python例子.
我有一个 en-GB.bdic
这是我从Chromium hunspell 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中实现了拼写检查功能?我一直找不到什么文档。
假设.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_convert_dict工具,执行如下结构:main.py 为了得到bdic,我使用qwebengine_convert_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
完整的代码如下 此处.