使用Qt框架,如何测量用给定字体/样式呈现的文本的宽度(以像素为单位)?在Qt中测量文本宽度
35
A
回答
60
您可以使用QFontMetrics类 - 请参阅width()方法,它可以给你一个给定的QString的宽度。
QFont myFont(fontName, fontSize);;
QString str("I wonder how wide this is?");
QFontMetrics fm(myFont);
int width=fm.width(str);
6
有点晚,但也许它可以帮助别人
中的paintEvent
QString text("text");
QFontMetrics fm = painter.fontMetrics();
int width = fm.width(text);
CHEARS亚历山大
5
作为除了通过@保罗的答案,我发现,当绘制文本(Linux上的Qt4.8)时,实际绘制的文本的宽度与QFontMetrics::boundingRect
返回的宽度相比通常是关闭的。在我的情况下,这幅画通常太宽。
如果要在绘制文本时使用精确结果(例如绘制围绕文本绘制的维矩形),最好使用QPainter
直接提供的boundingRect
函数。
相关问题
- 1. 测量文本宽度
- 2. 测量文本的宽度(Python的/ PIL)
- 3. 在vb.net中检测文本的宽度
- 4. 在J2ME中测量AttributedString的宽度
- 5. 在Javascript中测量字符串宽度
- 6. 脉冲宽度测量
- 7. 测量物体宽度
- 8. 在NSTokenField上测量字符串宽度
- 9. itextsharp测量块宽度/高度
- 10. 在渲染前测量文本长度
- 11. 单元格宽度=文本宽度FPDF
- 12. 在块元素中限制边框宽度为文本宽度
- 13. 在MFC中获取文本宽度
- 14. 在Javascript中查找文本宽度
- 15. WP7在StackPanel中的文本块宽度
- 16. 在jQuery中查找文本宽度
- 17. 在TableLayout中测量列宽
- 18. 测量DiV的宽度,或者在Python中获取JS变量。
- 19. 在printf中设置变量文本列宽度
- 20. QT:字体及其宽度
- 21. 如何测量树视图项目中文本的可用宽度?
- 22. 如何测量kineticjs中的文字宽度?
- 23. 测量在画布上绘制的文字宽度(Android)
- 24. 如何测量和设置宽度?
- 25. wordpress,检测div内宽度的数量
- 26. 测量多行textview每行的宽度
- 27. 如何测量HTML元素的宽度?
- 28. 如何精确测量弦的宽度?
- 29. 测量JavaFX文本的长度
- 30. AS3文本和文本框宽度
在Qt 5.5.1的OS X上发现了相同的情况。高度已关闭。我使用独立的QFontMetrics,但需要在画家上设置字体,并直接使用boundingRect来精确测量文字。 – kainjow