ui_qrcode
ui_qrcode 模块提供二维码视图组件,用于在UI中渲染二维码图像。
Class Summary
OHOS::UIQrcode
二维码显示控件,基于 UIImageView 提供二维码生成与渲染能力
- 构造:无
-
成员函数:
接口名称 功能简述 SetQrcodeInfo 设置二维码内容(字符串形式) SetQrcodeInfo 设置二维码内容(二进制形式) GetViewType 获取控件类型 SetWidth 设置二维码宽度 SetHeight 设置二维码高度 SetECCLevel 设置二维码纠错等级 -
使用包含头文件:
#include "components/ui_qrcode.h" - 声明头文件:
middleware/services/gui/uikit/ui/interfaces/kits/components/ui_qrcode.h - 公有运算符:无
- 继承关系:UIImageView
- 嵌套类型:无
- 模板形参:无
Functions
OHOS::UIQrcode
SetQrcodeInfo
void SetQrcodeInfo(const char* val, ColorType backgroundColor = Color::White(), ColorType qrColor = Color::Black())
功能说明
- 核心用途:以字符串形式设置二维码内容,并指定背景色与前景色
- 设计目的:提供文本类型的二维码数据输入接口,自动生成对应二维码图像
- 使用场景:需要将字符串编码为二维码并显示在界面上的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| val | const char* | 指向用于生成二维码的字符串内容,入参指针,不可为 nullptr | 非空,字符串长度范围 1 ~ 2048 |
| backgroundColor | ColorType | 二维码背景颜色,入参只读,有缺省值 | 缺省值 Color::White() |
| qrColor | ColorType | 二维码前景颜色,入参只读,有缺省值 | 缺省值 Color::Black() |
SetQrcodeInfo
void SetQrcodeInfo(const uint8_t* val, uint16_t len, ColorType backgroundColor = Color::White(), ColorType qrColor = Color::Black())
功能说明
- 核心用途:以二进制形式设置二维码内容,并指定背景色与前景色
- 设计目的:提供二进制数据的二维码输入接口,适用于非文本内容编码
- 使用场景:需要将二进制数据编码为二维码并显示在界面上的场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| val | const uint8_t* | 指向用于生成二维码的二进制数据,入参指针,不可为 nullptr | 非空 |
| len | uint16_t | 二进制数据长度 | 1 ~ 2048 |
| backgroundColor | ColorType | 二维码背景颜色,入参只读,有缺省值 | 缺省值 Color::White() |
| qrColor | ColorType | 二维码前景颜色,入参只读,有缺省值 | 缺省值 Color::Black() |
GetViewType
virtual UIViewType GetViewType() const override
功能说明
- 核心用途:获取当前控件的视图类型标识
- 设计目的:在 UI 框架中区分不同控件类型,支持类型判断与分发
- 使用场景:需要判断控件是否为二维码类型时调用,返回值为 UI_QRCODE
返回值
- 返回类型:
UIViewType
返回控件视图类型
| 返回值 | 触发场景 |
|---|---|
| UI_QRCODE | 当前控件为二维码控件 |
SetWidth
virtual void SetWidth(int16_t width) override
功能说明
- 核心用途:设置二维码控件的宽度
- 设计目的:重写基类 SetWidth,在宽度变化时触发二维码重新渲染
- 使用场景:需要在运行时动态调整二维码控件宽度时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 二维码控件的宽度值 | 不小于二维码最小尺寸 |
SetHeight
virtual void SetHeight(int16_t height) override
功能说明
- 核心用途:设置二维码控件的高度
- 设计目的:重写基类 SetHeight,在高度变化时触发二维码重新渲染
- 使用场景:需要在运行时动态调整二维码控件高度时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| height | int16_t | 二维码控件的高度值 | 不小于二维码最小尺寸 |
SetECCLevel
void SetECCLevel(QrCode::Ecc level)
功能说明
- 核心用途:设置二维码的纠错等级
- 设计目的:允许调用者根据容错需求选择不同纠错等级,影响二维码的容错能力
- 使用场景:需要在生成二维码前指定纠错等级时调用,默认值为 QUARTILE
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| level | QrCode::Ecc | 纠错等级枚举值 | QrCode::Ecc:LOW / MEDIUM / QUARTILE / HIGH |
Enumerations
QrCode::Ecc
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| LOW | 0 | 低纠错等级,可容忍约 7% 错误码字 |
| MEDIUM | 1 | 中纠错等级,可容忍约 15% 错误码字 |
| QUARTILE | 2 | 四分之一纠错等级,可容忍约 25% 错误码字 |
| HIGH | 3 | 高纠错等级,可容忍约 30% 错误码字 |