0

我想绘制一个带有对齐选项的多行文本字符串,Qt 中的任何 drawText 函数都处理这个吗?

我想传递一个带有对齐选项的字符串“LINE 1\nLINE 2\nLINE 3\n”,并在指定的 X、Y 点周围绘制文本。

到目前为止,我将字符串拆分为“\n”,然后单独绘制线条。

我还需要计算绘制文本所需的边界矩形,这样我就可以创建一个带有几何图形的小部件来包含文本。

我已经搜索了一个解决方案,并在几个网站上阅读了 QPainter::drawText 将执行此操作的内容,但是当我将 drawText 与包含 \n 的字符串一起使用时,我得到一行文本,其中 \n 显示在显示器上。

4

1 回答 1

0

我决定编写自己的例程来管理这个,我有一个锚点,我将在锚点上对齐文本。

所需的阶段是:

  1. 将文本拆分为行
  2. 使用 QFontMetrics 确定边界矩形以确定每条线的大小。
  3. 使用指定的对齐方式计算出边界矩形内每条线相对于另一条线的位置。
  4. 画出文字。
于 2016-06-17T08:50:44.517 回答