我正在尝试在PyQt5中创建与此类似的内容: https://www.screencast.com/t/1FikGosKbS
我尝试为每个项目符号点使用单独的QTextEdit小部件,并覆盖Enter键以转到下一个文本框,但是我不知道如何像示例中一样使多个QTextEdit小部件可选(并能够复制粘贴)
如何允许用户在多个QTextEdit框中拖动以选择文本?还是有更好的方法呢?
答案 0 :(得分:1)
我不知道此应用程序是否由Qt制成,但我有一个主意。 也许您可能已经充分利用了该应用程序的一部分...我无法从您的问题中了解它们。我在不完全了解QText处理的前提下写我的意见。
QTextEdit
,QTextDocument
,QTextCursor
已完全使用。
1。了解block。
2。使用QTextBlockUserData
(如果需要)。
3。要将QGraphicsItem
用作节点。
4。要转到其他页面,我们在QTextEdit
上添加新的QStackedWidget
或替换QTextDocument
中的QTextEdit
。
5。要使子节点成为块状,可以协调块的缩进。
QTextBlock
是文档中的只读数据。
您制作QTextBlockUserData
并将其设置为块。
如果选择要拖放的多个块,请按顺序使用QTextCursor
和movePosition
方法。
此应用程序的节点不能为QTextListFormat
,因为我们无法处理鼠标单击样式的问题。但是您可以插入空白样式的QTextListFormat
。
节点的真相可能是QGraphicsItem
。
您可以为其分配每个块的起始位置,并且该项目还可以具有块数据。
将很难处理节点与块之间的连接。
事先必须设置QGraphicsView
和QGraphicsScene
。
我在容器上插入了许多数据。
我们应该控制哪个节点或块?
我的审判。
我的试用尚不完整,但需要耐心才能完成。 从逻辑上讲,我认为我可以通过这些组合走到最合适的地方。 但这会很难...
这些节点由QGraphicsItem构成,并分配给每个块。 您必须计算位置并在编辑过程中重新计算。
在这些图像上删除了鼠标光标图像。 它超出了屏幕截图。