Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

Visindigo::Widgets::StyleSheetTemplate Class

class Visindigo::Widgets::StyleSheetTemplate

提供对vst(Visindigo Stylesheet Template)样式表模板的解析与管理功能. 详情...

头文件: #include <Widgets/StyleSheetTemplate.h>
自以下版本: Visindigo 0.13.0

公开成员函数

(自 Visindigo 0.13.0 引入) StyleSheetTemplate()
(自 Visindigo 0.13.0 引入) StyleSheetTemplate(const Visindigo::Widgets::StyleSheetTemplate &other)
(自 Visindigo 0.13.0 引入) StyleSheetTemplate(Visindigo::Widgets::StyleSheetTemplate &&other)
(自 Visindigo 0.13.0 引入) ~StyleSheetTemplate()
(自 Visindigo 0.13.0 引入) QStringList getNamespaces() const
(自 Visindigo 0.13.0 引入) QString getRawStyleSheet(const QString &keyWithNamespace)
(自 Visindigo 0.13.0 引入) QString getRawStyleSheet(const QString &namespaceStr, const QString &key)
(自 Visindigo 0.13.0 引入) QString getStyleSheet(const QString &keyWithNamespace, QWidget *getter = nullptr)
(自 Visindigo 0.13.0 引入) QString getTemplateID() const
(自 Visindigo 0.13.0 引入) QString getTemplateName() const
(自 Visindigo 0.13.0 引入) void merge(const Visindigo::Widgets::StyleSheetTemplate &other)
(自 Visindigo 0.13.0 引入) bool parse(QString &templateStr)
(自 Visindigo 0.13.0 引入) void setStyleSheetTemplate(const QString &keyWithNamespace, const QString &style)
(自 Visindigo 0.13.0 引入) void setStyleSheetTemplate(const QString &namespaceStr, const QString &key, const QString &style)
(自 Visindigo 0.13.0 引入) void setTemplateID(const QString &id)
(自 Visindigo 0.13.0 引入) void setTemplateName(const QString &name)
(自 Visindigo 0.13.0 引入) QString toString()
(自 Visindigo 0.13.0 引入) Visindigo::Widgets::StyleSheetTemplate &operator=(Visindigo::Widgets::StyleSheetTemplate &&other)
(自 Visindigo 0.13.0 引入) Visindigo::Widgets::StyleSheetTemplate &operator=(const Visindigo::Widgets::StyleSheetTemplate &other)

详细说明

Visindigo样式表模板(vst)是一种用于定义和管理Qt样式表的文本格式。它允许开发者创建可重用的样式片段,并通过参数化的方式实现样式的动态生成。 vst文件通常包含多个命名空间和键值对,每个键对应一个样式表片段,支持参数替换以适应不同的主题需求。

有关VST文件格式的说明,请参见Visindigo::General::ThemeManager类的文档,其中有详细的介绍和示例。

由于VST作为以QSS为主的脚本文件,其基本上以文本形式存在,嵌入代码中毫无意义,因此ThemeManager 没有提供任何传递此类实例的接口,相关API都是以字符串形式传递VST内容或路径。所以在日常使用时, 几乎不需要直接使用此类,除非是需要手动解析或生成vst文件内容的场景。例如从ThemeManager导出 合并后的样式表模板。

成员函数文档

[since Visindigo 0.13.0] StyleSheetTemplate::StyleSheetTemplate()

构造函数

这个function 从 Visindigo 0.13.0 开始支持。

另请参阅 setStyleSheetTemplate().

[since Visindigo 0.13.0] StyleSheetTemplate::StyleSheetTemplate(const Visindigo::Widgets::StyleSheetTemplate &other)

other 被拷贝的StyleSheetTemplate实例

拷贝构造函数

这个function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] StyleSheetTemplate::StyleSheetTemplate(Visindigo::Widgets::StyleSheetTemplate &&other)

other 被移动的StyleSheetTemplate实例

移动构造函数

这个function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] StyleSheetTemplate::~StyleSheetTemplate()

析构函数

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QStringList StyleSheetTemplate::getNamespaces() const

return 所有命名空间的列表。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString StyleSheetTemplate::getRawStyleSheet(const QString &keyWithNamespace)

keyWithNamespace 键,可能包含命名空间前缀,格式为"namespace::key"或直接为"key"

根据键(可能包含命名空间前缀)获取原始样式表字符串。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString StyleSheetTemplate::getRawStyleSheet(const QString &namespaceStr, const QString &key)

namespaceStr 命名空间字符串 key 键字符串

根据命名空间和键获取原始样式表字符串。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString StyleSheetTemplate::getStyleSheet(const QString &keyWithNamespace, QWidget *getter = nullptr)

keyWithNamespace 键,可能包含命名空间前缀,格式为"namespace::key"或直接为"key" getter 可选的QWidget指针,用于从组件属性中获取参数值进行替换

根据键(可能包含命名空间前缀)和可选的QWidget获取最终样式表字符串。 值得注意的是,此方法自动从ThemeManager获取颜色参数,不能手动介入。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString StyleSheetTemplate::getTemplateID() const

return 样式表模板的ID。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString StyleSheetTemplate::getTemplateName() const

return 样式表模板的名称。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void StyleSheetTemplate::merge(const Visindigo::Widgets::StyleSheetTemplate &other)

other 另一个StyleSheetTemplate实例

将另一个样式表模板的内容合并到当前模板中。 它会逐一检查所有的键并进行覆盖。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool StyleSheetTemplate::parse(QString &templateStr)

templateStr 样式表模板字符串

解析样式表模板字符串。

return 解析是否成功,任何语法问题或不符合规范的模板字符串都会导致解析失败并返回false。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void StyleSheetTemplate::setStyleSheetTemplate(const QString &keyWithNamespace, const QString &style)

keyWithNamespace 键,可能包含命名空间前缀,格式为"namespace::key"或直接为"key" style 样式表字符串

设置指定键(可能包含命名空间前缀)的样式表模板字符串。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void StyleSheetTemplate::setStyleSheetTemplate(const QString &namespaceStr, const QString &key, const QString &style)

namespaceStr 命名空间字符串 key 键字符串 style 样式表字符串

设置指定命名空间和键的样式表模板字符串。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void StyleSheetTemplate::setTemplateID(const QString &id)

id 样式表模板的ID

设置样式表模板的ID。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void StyleSheetTemplate::setTemplateName(const QString &name)

name 样式表模板的名称

设置样式表模板的名称。

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString StyleSheetTemplate::toString()

将样式表模板转换为字符串表示形式。

这个function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] Visindigo::Widgets::StyleSheetTemplate &StyleSheetTemplate::operator=(Visindigo::Widgets::StyleSheetTemplate &&other)

other 被移动的StyleSheetTemplate实例

移动赋值运算符

这个function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] Visindigo::Widgets::StyleSheetTemplate &StyleSheetTemplate::operator=(const Visindigo::Widgets::StyleSheetTemplate &other)

other 被拷贝的StyleSheetTemplate实例

拷贝赋值运算符

这个function 从 Visindigo 0.13.0 开始支持。