首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQT Qscintilla进展4gl

PyQT Qscintilla进展4gl
EN

Stack Overflow用户
提问于 2012-12-18 20:11:00
回答 2查看 438关注 0票数 3

最近,通过在我的python应用程序中实现QsciLexerCustom,我一直在创建自己的Progress 4GL编辑器。但是在浏览Qscintilla源代码时,我注意到他们在QScintilla/lexers/LexProgress.cpp中已经有了一个进步4gl词法分析器,但是在阅读http://www.riverbankcomputing.com/static/Docs/QScintilla2/annotated.html时,他们并没有指定任何QsciLexerProgress类或者任何访问这个词法分析器的方法,我看得出来。

有人知道怎么做吗?

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-18 23:52:18

QScintilla显然是使用Qt图形用户界面框架的一个闪光灯端口。移植词法分析器可能需要一些工作,所以他们可能只是没有花时间为不受欢迎的语言移植词法分析器。

换句话说,我认为你找到的.cpp文件只是Scintilla的一个残留物,它从来没有移植到QScintilla上,但仍然在他们的代码库中。

票数 0
EN

Stack Overflow用户

发布于 2012-12-19 03:17:16

QSciLexer*类的名称有误导性。他们根本不是真正的词法分析器。相反,它们为基于Scintilla的编辑器SciTE使用的属性文件提供了包装器。属性文件包含配置特定Scintilla所需的所有设置(字体、颜色、关键字等)。

默认情况下,QScintilla并不为Scintilla支持的每种语言都提供QsciLexer*类。它只提供最常用的语言,以及用户在mailing list上请求的任何语言。Qscintilla的作者很乐意为Scintilla支持的任何语言添加一个QsciLexer*类--唯一的要求是相应的词法分析器有一个可用的SciTE属性文件。

不幸的是,当前的SciTE源代码没有包含Progress 4GL词法分析器的属性文件!然而,完全有可能有人在某个时间创建了一个,所以稍微搜索一下就可能产生一个。如果做不到这一点,您始终可以自己创建一个。

PS: QScintilla不允许对QsciLexer类进行适当的子类化(一些关键的虚拟函数不是公共的),这真是一个令人恼火的问题。如果是这样的话,就可以为Scintilla支持的任何语言创建自定义包装器类,而不必要求Qscintilla的作者添加一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13932696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档