C
QSafeLayout 类
class SafeRenderer::QSafeLayoutQSafeLayout 类提供访问 Qt 安全渲染器布局数据的抽象类。 更多...
头文件 | #include <QSafeLayout> |
自 | QtSafeRenderer 1.0 |
继承自 | SafeRenderer::QSafeLayoutFileReader 和 SafeRenderer::QSafeLayoutResourceReader |
此类在 QtSafeRenderer 1.0 中引入。
公共类型
枚举 | LayoutException { UnknownBitmapId, UnknownItem, ItemOutOfBounds, SizeErrorWidth, SizeErrorHeight, …, InvalidLayoutType } |
枚举 | LayoutParserState { INVALID, OK } |
公共函数
QSafeLayout(SafeRenderer::QSafeBitmapReader *const bitmapReader) | |
virtual | ~QSafeLayout() |
void | advanceAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg) |
const SafeRenderer::QSafeBitmap * | bitmapForItem(const SafeRenderer::quint32 idArg) const |
SafeRenderer::quint32 | count() const |
virtual SafeRenderer::QSafeFontCache * | fontCache() const = 0 |
const SafeRenderer::LayoutData & | getLayoutItem(const SafeRenderer::quint32 idArg) const |
const SafeRenderer::QSafeStateTransition & | getStateTransition(const SafeRenderer::quint32 indexArg) |
SafeRenderer::LayoutData & | item(const SafeRenderer::quint32 idx) |
bool | itemIndex(const SafeRenderer::quint32 idArg, SafeRenderer::quint32 &indexArg) const |
SafeRenderer::quint32 | layoutId() const |
SafeRenderer::QSafeLayout::LayoutParserState | parserState() const |
SafeRenderer::QSafePoint | position() const |
virtual const SafeRenderer::QSafeByteArray | readDataFromFile(const SafeRenderer::qchar *const filenameArg) = 0 |
void | restartAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg) |
void | setAlphaForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint8 alphaArg) |
void | setBitmapForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 bitmapIdArg) |
void | setColorForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::ARGB colorArg) |
void | setLayoutId(const SafeRenderer::quint32 &layoutIdArg) |
void | setPositionForItem(const SafeRenderer::qchar *const name, const SafeRenderer::quint32 x, const SafeRenderer::quint32 y) |
void | setPositionForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 x, const SafeRenderer::quint32 y) |
void | setTextForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qchar *const textArg) |
SafeRenderer::QSafeSize | size() const |
SafeRenderer::quint32 | stateTransitionsCount() const |
静态公共成员
SafeRenderer::quint32 | validateLayout(const SafeRenderer::QSafeByteArray &layoutDataArg) |
成员类型文档
枚举 QSafeLayout::LayoutException
此枚举描述了QSafeLayout类中的异常值。
常量 | 值 | 描述 |
---|---|---|
SafeRenderer::QSafeLayout::UnknownBitmapId | 0 | 从布局中找不到位图ID。 |
SafeRenderer::QSafeLayout::UnknownItem | 1 | 未找到该项目。 |
SafeRenderer::QSafeLayout::ItemOutOfBounds | 2 | 项目的新位置超出范围。 |
SafeRenderer::QSafeLayout::SizeErrorWidth | 4 | 布局尺寸的宽度过长。 |
SafeRenderer::QSafeLayout::SizeErrorHeight | 5 | 布局尺寸的高度过长。 |
SafeRenderer::QSafeLayout::DataSizeMismatch | 3 | 布局文件的大小不是布局数据大小的倍数,或者布局数据大小过小。 |
SafeRenderer::QSafeLayout::InvalidLayoutVersion | 6 | 不支持布局版本。 |
SafeRenderer::QSafeLayout::CheckSumFailed | 7 | 布局文件校验和失败。 |
SafeRenderer::QSafeLayout::TooLongFilename | 8 | 位图的文件名过长,无法放入临时缓冲区。 |
SafeRenderer::QSafeLayout::InvalidLayoutType | 9 | 布局类型无效。 |
枚举 QSafeLayout::LayoutParserState
此枚举描述了QSafeLayout类中的状态值。
常量 | 值 | 描述 |
---|---|---|
SafeRenderer::QSafeLayout::INVALID | 0 | 布局数据无效。 |
SafeRenderer::QSafeLayout::OK | 1 | 已读取并验证了布局数据。 |
成员函数文档
QSafeLayout::QSafeLayout(SafeRenderer::QSafeBitmapReader *const bitmapReader)
使用用作访问位图数据的bitmapReader实例来构造安全布局对象。
[虚拟]
QSafeLayout::~QSafeLayout()
销毁安全布局对象。
void QSafeLayout::advanceAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg)
在transitionIndexArg处推进stateIndexArg。
const SafeRenderer::QSafeBitmap *QSafeLayout::bitmapForItem(const SafeRenderer::quint32 idArg) const
返回由idArg标识的布局项的位图对象。如果找不到位图,则返回NULL。
另请参阅setBitmapForItem()。
SafeRenderer::quint32 QSafeLayout::count() const
返回布局项的数量。
[纯虚]
SafeRenderer::QSafeFontCache *QSafeLayout::fontCache() const
返回字体缓存指针。此函数在继承类中实现。
const SafeRenderer::LayoutData &QSafeLayout::getLayoutItem(const SafeRenderer::quint32 idArg) const
返回由 idArg 标识的 SafeRenderer::LayoutData 项。
id值是在QML UI Form文件中安全项的objectName
的哈希值。如果找不到项,则会抛出异常
常量 | 描述 |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 未找到该项目。 |
例如
SafePicture { objectName: "iconCoolant" width: 64 height: 64 color: "#e41e25" source: "qrc:/iso-icons/iso_grs_7000_4_2426.dat" }
ID值可以按以下方式计算
quint32 id = qt_hash("iconCoolant", safe_strlen("iconCoolant");
const SafeRenderer::QSafeStateTransition &QSafeLayout::getStateTransition(const SafeRenderer::quint32 indexArg)
返回索引为 indexArg 的 QSafeStateTransition。
如果 indexArg 大于 SafeRenderer::QSafeStates::StatesException::IndexOutOfBounds 状态的数量,则会抛出。
SafeRenderer::LayoutData &QSafeLayout::item(const SafeRenderer::quint32 idx)
返回位于 idx 的 LayoutData 的引用。
bool QSafeLayout::itemIndex(const SafeRenderer::quint32 idArg, SafeRenderer::quint32 &indexArg) const
如果找到 idArg,则返回 true
;否则返回 false
。布局项的索引由 idArg 确定。索引设置为 indexArg。
SafeRenderer::quint32 QSafeLayout::layoutId() const
布局id的获取器函数。
LayoutId是每个布局实例的唯一id。默认情况下,layoutId是布局文件名的哈希值。
另请参阅setLayoutId。
SafeRenderer::QSafeLayout::LayoutParserState QSafeLayout::parserState() const
返回解析器的状态。
SafeRenderer::QSafePoint QSafeLayout::position() const
返回布局的位置。
[纯虚函数]
const SafeRenderer::QSafeByteArray QSafeLayout::readDataFromFile(const SafeRenderer::qchar *const filenameArg)
读取 filenameArg 指定的文件。返回读取数据的引用。此函数在继承类中实现。
void QSafeLayout::restartAnimation(const SafeRenderer::quint32 stateIndexArg, const SafeRenderer::quint32 transitionIndexArg)
在 transitionIndexArg 处重新启动 stateIndexArg。
void QSafeLayout::setAlphaForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint8 alphaArg)
将 alphaArg 阿尔法值设置为由 idArg 标识的对象。
在发生故障时,将抛出以下异常
常量 | 描述 |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 项目 idArg 不存在。 |
void QSafeLayout::setBitmapForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 bitmapIdArg)
将 bitmapIdArg 值设置为由 idArg 标识的对象。
在发生故障时,将抛出以下异常之一
常量 | 描述 |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 项目 idArg 不存在。 |
SafeRenderer::QSafeLayout::LayoutException::UnknownBitmapId | 位图 bitmapIdArg 不存在。 |
SafeRenderer::QSafeLayout::LayoutException::ItemOutOfBounds | 位图超出窗口边界 |
另请参阅bitmapForItem。
void QSafeLayout::setColorForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::ARGB colorArg)
将 colorArg 颜色设置为由 idArg 标识的对象。
此方法允许更改可变对象,如图片的颜色。
在发生故障时,将抛出以下异常之一
常量 | 描述 |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 项目 idArg 不存在。 |
void QSafeLayout::setLayoutId(const SafeRenderer::quint32 &layoutIdArg)
将布局标识符设置为 layoutIdArg 的值。
另请参阅layoutId。
void QSafeLayout::setPositionForItem(const SafeRenderer::qchar *const name, const SafeRenderer::quint32 x, const SafeRenderer::quint32 y)
将 x 和 y 位置设置为名为 name 的对象。
在发生故障时,将抛出以下异常之一
常量 | 描述 |
---|---|
SafeRenderer::QSafeLayout::LayoutException::ItemOutOfBounds | 项目的新的位置超出窗口边界。 |
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 项目 name 不存在。 |
SafeRenderer::QSafeLayout::LayoutException::UnknownBitmapId | 与布局项相关联的位图未找到。 |
void QSafeLayout::setPositionForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::quint32 x, const SafeRenderer::quint32 y)
将 x 和 y 位置设置为由 idArg 标识的对象。
在发生故障时,将抛出以下异常之一
常量 | 描述 |
---|---|
SafeRenderer::QSafeBitmapFileReader::BitmapFileReaderException::IndexOutOfBounds | 位图索引超出在 SafeRenderer::Constraints::MAX_AMOUNT_OF_BITMAPS 中定义的值。 |
SafeRenderer::QSafeLayout::LayoutException::ItemOutOfBounds | 项目的新的位置超出窗口边界。 |
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 项目 idArg 不存在。 |
SafeRenderer::QSafeLayout::LayoutException::UnknownBitmapId | 与布局项相关联的位图未找到。 |
void QSafeLayout::setTextForItem(const SafeRenderer::quint32 idArg, const SafeRenderer::qchar *const textArg)
将 textArg 文本设置为由 idArg 标识的对象。
在发生故障时,将抛出以下异常
常量 | 描述 |
---|---|
SafeRenderer::QSafeLayout::LayoutException::UnknownItem | 项目 idArg 不存在。 |
SafeRenderer::QSafeSize QSafeLayout::size() const
返回布局的大小。
SafeRenderer::quint32 QSafeLayout::stateTransitionsCount() const
返回状态的数量。
[静态]
SafeRenderer::quint32 QSafeLayout::validateLayout(const SafeRenderer::QSafeByteArray &layoutDataArg)
QSafeLayout::validateLayout 验证 layoutDataArg 中的数据。 获取布局文件中项的数量。
在特定 Qt 许可证下可用。
了解更多信息。