我目前正在创建一个应用程序来编辑在某个时间范围内发生的事件的并行列表。在模型/后端中有一个列表列表,其中子列表按顺序排列了所有项目。
每个事件都应该由一个字符串/字形(来自 ttf 字体)表示,并且每个文本行都应该像正常的文本行一样进行编辑,但它们的显示方式有一些例外。看这张图片:
基本上每一行代表一行文本。每个事件都是一个字符/字形。所以它是一个文本编辑器?!不完全的
- 没有换行符
- 多条平行线
- 每个字形后面都有一个单独的空格(X 方向)
- 每个字形都可以单独“向上”和“向下”移动(Y方向)(也许是最重要的一点)
- 如果你删除一个字形,它右边的所有项目都往“左”走一步来缩小差距(就像在普通的文本编辑器中一样)。
- 如果您插入一个字形,则它右侧的所有项目都会“向右”走一步以创建要插入的间隙。
QGraphicsLinearLayout 涵盖了大多数这些点,但对于这种方法,它可能是错误的小部件/布局。你有什么建议吗?