首页 > 解决方案 > Qt文本选择白线和文本宽度

问题描述

我想自定义 QTextEdit 中的文本选择,我想要两件事:

  1. 选择时删除空格/行。
  2. 能够选择选择的宽度,小部件宽度或文本宽度。

空白/线条:

通常,我想要的是:(来自熊应用程序):

熊文本选择

在使用 QTextEdit 小部件时,我注意到当我选择文本时,所选行之间有白线:

白线问题

为了解决这个问题,我尝试了一些方法:

我为当前的 QTextBlockFormat 和 QTextCharFormat 设置了一些颜色,以查看每个颜色的精确尺寸。似乎问题来自 QTextBlockFormat 但我不知道如何解决它。( yellow= QTextCharFormat, red= QTextBlockFormat)

带颜色的文本选择

我尝试使用更改 lineHeightQTextBlockFormat::setLineHeight(…); 但是当我这样做时,选择不会选择空格:

线高

选择宽度:

第二个问题是在选择文本时会选择整行(见图 1)。我想只选择文本,比如在 Photoshop 中:

Photoshop 选择

我尝试使用样式表:show-decoration-selected但它似乎只适用于 QListView。

标签: c++qttextselection

解决方案


推荐阅读