• 6636阅读
  • 10回复

[提问]长字符串,drawText [复制链接]

上一主题 下一主题
离线yushui213
 

只看楼主 正序阅读 楼主  发表于: 2012-03-07
关于在指定rect内,draw很长的文本,自动换行我会了,但是怎么计算在指定的框内画了多少个字符?
另外,指定rect的底部,有时候只显示半行文本,怎么让这一行都不显示,直接算为没有draw出来呢?
如下图:


离线guoke204

只看该作者 10楼 发表于: 2012-03-08
离线yushui213

只看该作者 9楼 发表于: 2012-03-08
引用第8楼ninsun于2012-03-08 11:07发表的  :
我思考了很久, 最终我使用了QGraphicsTextItem来解决这个问题(不直接使用drawtext)
因为我知道需要绘制的区域的大小, 于是我就这么判断了....
    // 判断当前是否超过最大高度
.......


任何一个思路对我这个初学者来说都是帮助。
谢谢啊
离线ninsun

只看该作者 8楼 发表于: 2012-03-08
我思考了很久, 最终我使用了QGraphicsTextItem来解决这个问题(不直接使用drawtext)

因为我知道需要绘制的区域的大小, 于是我就这么判断了....

    // 判断当前是否超过最大高度
    if(document()->size().height() >= m_dMaxHeight)

不知道对楼主是否有帮助....
离线dxfans

只看该作者 7楼 发表于: 2012-03-08
回 5楼(yushui213) 的帖子
你再通过计算字符间距和行间距。。
离线dxfans

只看该作者 6楼 发表于: 2012-03-08
引用第4楼quser于2012-03-08 10:02发表的  :
这个涉及到 文本编辑器了 , 我一看这方面的东西头就大 , 帮你顶一下吧


不是文本编辑,是绘图,文本绘制
离线yushui213

只看该作者 5楼 发表于: 2012-03-08
引用第3楼dxfans于2012-03-08 10:02发表的  :
你绘制文本时,你使用的字体你肯定知道的;在知道字体的情况下,你使用QFont、QFontInfo、QFontMetrics类获得字体的详细信息,包括宽度和高度等,这样和rect比较即可;


谢谢你。

但是这样比较能得到已经画的字符个数么?
离线quser
只看该作者 4楼 发表于: 2012-03-08
这个涉及到 文本编辑器了 , 我一看这方面的东西头就大 , 帮你顶一下吧
离线dxfans

只看该作者 3楼 发表于: 2012-03-08
引用楼主yushui213于2012-03-07 21:39发表的 长字符串,drawText :
关于在指定rect内,draw很长的文本,自动换行我会了,但是怎么计算在指定的框内画了多少个字符?
另外,指定rect的底部,有时候只显示半行文本,怎么让这一行都不显示,直接算为没有draw出来呢?
如下图:
[图片]
.......

你绘制文本时,你使用的字体你肯定知道的;在知道字体的情况下,你使用QFont、QFontInfo、QFontMetrics类获得字体的详细信息,包括宽度和高度等,这样和rect比较即可;
离线yushui213

只看该作者 2楼 发表于: 2012-03-08

为什么还是没有人帮忙呢?
离线yushui213

只看该作者 1楼 发表于: 2012-03-08
没有人理解我的问题?
应该有人会吧?

谢谢你们了。
快速回复
限100 字节
 
上一个 下一个