PyQT - 如何实现语法突出显示?
我想使用 PyQT 为 Cython 编写一个小 IDE,但我不知道如何实现语法突出显示。
我知道如何解析 Python 源代码,但我不知道如何在 PyQT 的文本字段中设置不同单词的颜色。
我可以使用 HTML 来实现此目的,但它是如何实时工作的呢?我的意思是,当用户编辑文本时,我需要能够立即更改文本的格式等。
你知道我如何实现这一点吗?
I want to write a little IDE for Cython using PyQT, but I don't have any idea how to implement Syntax Highlighting.
I know how to parse the Python-source, but I don't know how I can set the color for different words within the Textfield in PyQT.
I could use HTML for this, but how does it work in realtime ? I mean when the user edits the text I need to be able to immediately change the text's format, etc.
Do you know how I can achieve this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否考虑过使用QScintilla?
“除了标准文本编辑组件中的功能之外,QScintilla 还包含在编辑和调试源代码时特别有用的功能。其中包括对语法样式、错误指示器、代码完成和调用提示的支持。”
Have you considered using QScintilla?
"As well as features found in standard text editing components, QScintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips."
我建议查看 KhtEditor 中的代码,它是使用 PyQt 用 Python 编写的。我相信作者也在致力于从 QWidget 到 QML 的移植。
I would recommend checking out the code in KhtEditor which is written in Python using PyQt. I believe the author is also working on a port from QWidget to QML.