qt - Qml 得到解析的字体系列

标签 qt qml

有一种方法可以获取 Qml 中已解决的字体系列 https://doc-snapshots.qt.io/qt5-5.9/qml-qtquick-text.html#fontInfo.family-prop

但是此属性仅在 Qt5.9 中可用,我们如何获取旧版本(准确地说是 Qt 5.4)的此信息

最佳答案

在 Qt 5.9 及更高版本中完成此操作的方式是通过嵌入 QFontInfoText 对象中,并向 QML 返回一个 JS 对象,并将 QFontInfo 的所有相关字段作为该对象的键。

我在以前的版本中添加此功能的方法是使用 Q_INVOKABLE QVariantMap fontInfo(const QFont& font) 创建一个新的 QObject 类。

此函数将从字体构造一个 QFontInfo,并用您需要的相关信息填充 QVariantMap

通过 qmlRegisterSingletonType() 注册它以便能够在 QML 中使用它。

然后您可以像在 QML 中一样使用它:

Text {
    property var fontInfo: FontUtils.fontInfo(font)
}

关于qt - Qml 得到解析的字体系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50391678/

相关文章:

c++ - 为什么 QDir::exists() 在 docker 容器中不起作用?

c++ - Qt 构建可以开箱即用静态链接?

c++ - DoubleValidator 没有正确检查范围

qt - QML Keys.onEnterPressed 问题

c++ - 使用cpp代码从加载的qml访问qml对象

c++ - 我怎样才能从 QML 中的 cpp 发出的信号中获取参数

javascript - 如何附加到类似 dict 的 QML-List?

c++ - QT:实现刷新 UI 的机制

android - 从 Android 上的 Qt 应用程序通过(显式) Intent 调用外部 Activity - putExtra 不起作用

c++ - QGraphicsView 和装饰器模式