PyQt5在多个QTextEdit框中选择文本

时间:2018-09-08 22:34:11

标签: select pyqt pyqt5 qtextedit

我正在尝试在PyQt5中创建与此类似的内容: https://www.screencast.com/t/1FikGosKbS

我尝试为每个项目符号点使用单独的QTextEdit小部件,并覆盖Enter键以转到下一个文本框,但是我不知道如何像示例中一样使多个QTextEdit小部件可选(并能够复制粘贴)

如何允许用户在多个QTextEdit框中拖动以选择文本?还是有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

我不知道此应用程序是否由Qt制成,但我有一个主意。 也许您可能已经充分利用了该应用程序的一部分...我无法从您的问题中了解它们。我在不完全了解QText处理的前提下写我的意见。

QTextEditQTextDocumentQTextCursor已完全使用。

1。了解block

2。使用QTextBlockUserData(如果需要)。

3。要将QGraphicsItem用作节点。

4。要转到其他页面,我们在QTextEdit上添加新的QStackedWidget或替换QTextDocument中的QTextEdit

5。要使子节点成为块状,可以协调块的缩进。

QTextBlock是文档中的只读数据。

您制作QTextBlockUserData并将其设置为块。

如果选择要拖放的多个块,请按顺序使用QTextCursormovePosition方法。

此应用程序的节点不能为QTextListFormat,因为我们无法处理鼠标单击样式的问题。但是您可以插入空白样式的QTextListFormat

节点的真相可能是QGraphicsItem

您可以为其分配每个块的起始位置,并且该项目还可以具有块数据。

将很难处理节点与块之间的连接。 事先必须设置QGraphicsViewQGraphicsScene

我在容器上插入了许多数据。

我们应该控制哪个节点或块?

我的审判

1。节点和文本 enter image description here

2。转至另一页 enter image description here

3。子节点和块 enter image description here

4。关闭子节点和块 enter image description here

我的试用尚不完整,但需要耐心才能完成。 从逻辑上讲,我认为我可以通过这些组合走到最合适的地方。 但这会很难...

这些节点由QGraphicsItem构成,并分配给每个块。 您必须计算位置并在编辑过程中重新计算。

在这些图像上删除了鼠标光标图像。 它超出了屏幕截图。