Qt5.6绘制多行文字

时间:2016-06-16 15:43:15

标签: c++ drawtext qt5.6

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

所需的阶段是:

  1. 将文字拆分为行
  2. 使用QFontMetrics计算边界矩形以确定每条线的大小。
  3. 使用指定的对齐方式计算出每条线相对于另一条线在边界矩形内的位置。
  4. 绘制文字。