跳转至

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

public: enum class Ecc {
    LOW = 0 ,
    MEDIUM  ,
    QUARTILE,
    HIGH    ,
};
枚举成员 取值 描述
LOW 0 低纠错等级,可容忍约 7% 错误码字
MEDIUM 1 中纠错等级,可容忍约 15% 错误码字
QUARTILE 2 四分之一纠错等级,可容忍约 25% 错误码字
HIGH 3 高纠错等级,可容忍约 30% 错误码字