如何在pyQt中的自定义文本对象中实现特定功能?

时间:2017-10-09 12:45:48

标签: qt pyqt text-editor qtextedit mathml

我需要在QEdit PyQt中实现一个特定的文本对象。我需要包含特殊信息的丰富对象,只有当光标文本在这些对象上时才能捕获键盘箭头键。他们还需要支持选择和复制/粘贴操作。在它们之外,光标必须充当正常行为。此时,对象不需要显示图像或svg等。仅用于捕获文本光标目的并存储与对象相关的特定信息。

我读到我可以使用此示例实现自定义文本对象: textobject.py

但该示例不包含有关实现新html标记,如何捕获焦点等的信息。

我的问题是:

  1. 如何添加与自定义对象相关的新html标记以加载和保存文档?

  2. 如何检测文本光标何时在自定义对象上以修改键盘光标行为?

  3. PyQt文档说:

      

    “复制和粘贴操作会忽略自定义文本对象。”   那么无法实现复制/粘贴功能吗?

  4. 如何访问自定义对象内容? 我想要具体的方法来导航对象中包含的信息。我可以将此信息保存在另一个对象中,但我需要将信息与光标同步,因为文档可以包含许多这些对象。

  5. 我的应用程序的上下文:我正在为盲人用户开发一个非常具体的应用程序。我自己也是瞎了。我需要对Richttext区域进行非常具体的自定义以获取可访问性。目标是开发一个可访问的数学公式编辑器。为此,我需要添加对mathMl标记的支持。我将在我的自定义对象中处理这些标记内的mathMl内容,这部分已经在基本级别实现,而不使用任何GUI框架。这时我不需要在屏幕上显示等式,我让屏幕阅读器通过COM对象与我的编辑器进行交互。此时,方程式框功能正常,但我需要将此功能集成到富文本区域中。这个想法是,一个文档可以包含N个数学表达式,可以在文档中读取,修改和保存。 我计划在公式编辑器中为有视力的人实现可访问性,但这超出了我的技能,现在不是优先考虑的事项。

    此外,我需要在富文本区域中访问表格,目前在QT中无法访问表格。然后我想扩展qt表功能。 pyQt中不存在标题等样式元素。好的,您可以编写带有标题样式的段落,但屏幕阅读器无法检测到它。所以我需要开发这个功能。我想用自定义的对象解决它。

    目前它只需要在Windows中工作。也许以后我会考虑其他平台。

    我昨天开始在pyQt中编程,但我已经阅读了很多文档。我写了一个基本的富文本编辑器来测试我的要求。

    我已经尝试用wxPython phoenix实现这个应用程序,因为我已经使用WX很长一段时间了。但我无法实现自定义文本对象,但我没有找到有关它的文档。

    如果pyQt仅限于我的要求,你能重新构建另一个gui框架吗? Y可以考虑其他语言,我之所以选择Python是因为Python有很多数学工具,比如sympy或numpy,在应用程序中实现用户脚本功能非常容易。

    抱歉我的英语不好。

0 个答案:

没有答案