标签结构

struct QFont::Tag

QFont::Tag 类型提供访问高级字体功能的方法。 更多...

此结构在 Qt 6.7 中引入。

公共函数

标签()
Tag(const char (&)[N] str)
boolisValid() const
QByteArraytoString() const
quint32value() const

静态公共成员

std::optional<QFont::Tag>fromString(QAnyStringView view)
std::optional<QFont::Tag>fromValue(quint32 value)
Qt::strong_orderingcompareThreeWay(const QFont::Tag &lhs, const QFont::Tag &rhs)
boolcomparesEqual(const QFont::Tag &lhs, const QFont::Tag &rhs)
size_tqHash(QFont::Tag key, size_t seed = 0)

详细描述

QFont 在对文本进行形状处理时提供访问高级功能的方法。一个功能由一个标签定义,该标签可以表示为四个字符的字符串,或为32位整数值。此类型以类型安全的方式表示此类标签。可以从四个字符的、8位字符串文字或相应的32位整数值构造它。使用较短的或较长的字符串文字将导致编译时错误。

QFont font;
// Correct
font.setFeature("frac");

// Wrong - won't compile
font.setFeature("fraction");

// Wrong - will produce runtime warning and fail
font.setFeature(u"fraction"_s);

命名构造函数允许从32位整数或字符串值创建一个标签,并在输入无效时返回一个 std::nullopt

另请参阅QFont::setFeature() 和 QFont::featureTags

成员函数文档

[constexpr noexcept] Tag::Tag()

默认构造函数,生成一个无效的标签。

[constexpr noexcept] 模板 <size_t N> Tag::Tag(const char (&)[N] str)

从一个字符串文字 str 中构造一个标签。文字必须正好有四个字符长。

font.setFeature("frac", 1);

另请参阅fromString() 和 fromValue

[static noexcept] std::optional<QFont::Tag> Tag::fromString(QAnyStringView view)

view中的字符串构造一个标记。字符串长度必须正好是四个字符。

如果输入长度不是四个字符,或者生成的标记无效,则返回std::nullopt

另请参阅isValid() 和 fromValue()。

[static constexpr noexcept] std::optional<QFont::Tag> Tag::fromValue(quint32 value)

value构造标记,或如果生成的标记无效,则返回std::nullopt

另请参阅isValid

[constexpr noexcept] bool Tag::isValid() const

返回标记是否有效。如果标记的值不为零,则标记有效。

另请参阅value()、fromValue() 和 fromString()。

QByteArray Tag::toString() const

以字节数组形式返回此标记的字符串表示。

另请参阅fromString

[constexpr noexcept] quint32 Tag::value() const

返回此标记的数值。

另请参阅isValid() 和 fromValue()。

相关非成员

[constexpr noexcept] Qt::strong_ordering compareThreeWay(const QFont::Tag &lhs, const QFont::Tag &rhs)

[constexpr noexcept] bool comparesEqual(const QFont::Tag &lhs, const QFont::Tag &rhs)

比较lhsrhs是否相等及排序。

[constexpr noexcept] size_t qHash(QFont::Tag key, size_t seed = 0)

返回key的散列值,使用seed来初始化计算。

© 2024 Qt公司有限公司。本文档中的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt和相应的徽标是芬兰和/或全球其他国家的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。