Qt的QFontMetrics::horizontalAdvance()缺少代码编辑器实现
Qt's QFontMetrics::horizontalAdvance() missing for Code Editor Implementation
我正在为一种简单的脚本语言实现代码编辑器,并一直使用Qt代码编辑器示例(http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html(作为实现带有行号的QPlainTextEdit的指南。该示例使用基本小部件的 fontMetrics(( 方法"horizontalAdvance"来查询单个字符的宽度(或更好的前进(。
方法QFontMetrics::horizontalAdvance(QChar)
(见 http://doc.qt.io/qt-5/qfontmetrics.html#horizontalAdvance-1(可以在Qt文档中找到,但我的实现似乎缺少此方法。
我在Windows 10上使用Qt 5.10.1'msvc2017_64'和Visual Studio Enterprise 2017版本15.7.3。我已经在标题中搜索了缺少的方法,但只找到了QTextLine::horizontalAdvance()
这不是我需要的方法。
我已经将QFontMetrics::horizontalAdvance(QChar)
调用替换为对QFontMetrics::width(QChar)
的调用,该调用适用于我当前的字体(Consolas(,但我不确定是否适用于每种可能的字体。
问题1(QFontMetrics::horizontalAdvance(( 是否已从当前版本的 Qt 中删除,我的安装有问题还是我错过了什么?
问题2(获得特定(非专业(字体预付款的正确方法是什么?
感谢您阅读本文并尝试提供帮助!
正如通用汽车在评论中告诉我的那样:
文档指出,QFontMetrics::horizontalAdvance(QChar(直到Qt5.11才可用。
因此,切换到Qt 5.11可以解决此问题。
您可以使用width
而不是horizontalAdvance
。
成员函数width
列在 QFontMetrics 的过时成员,它建议使用horizontalAdvance
而不是width
。 我想这两个成员函数具有类似的行为。
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 静态代码检查器抱怨.虚惊一场?
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- 为什么我的 VS 代码调试器在我的C++代码周围弹跳?
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- 使用 bash 脚本和测试处理进行代码编辑
- 图标编辑器中的自定义颜色 (VS 2015)
- Qt的QFontMetrics::horizontalAdvance()缺少代码编辑器实现
- C++ 二次方程对于代码检查器无法正常工作
- 如何在文本编辑器中处理 [-Wc++11-extensions]
- complex.h 适用于 Win32 目标以外的其他编译器,例如代码编辑器工作室 (CCS)
- 代码编辑器工作室 for Arm 中类的 C++ 编译错误
- 支持C和Python之间的跨语言(C)标签的代码编辑器
- 其中是visual studio控件编辑器为visual c++生成的代码
- 是否可以使用十六进制编辑器从exe文件中删除代码?(c++)
- 使用 Qt 4.8 (C++) 为 javascript 创建代码编辑器
- Qt代码编辑器在右侧的区域中显示行号
- c++:包括当代码写在文本编辑器,linux
- 代码/文本编辑器是否不需要实际的程序本身?