HusColorPickerPanel 颜色选择器面板

February 2, 2026 · View on GitHub

← 返回主目录

← 返回本类别目录

HusColorPickerPanel 颜色选择器面板

用于选择颜色。

  • 模块 { HuskarUI.Basic }

  • 继承自 { Control }


支持的代理:

  • titleDelegate: Component 弹窗标题代理

支持的属性:

属性名类型默认值描述
animationEnabledboolHusTheme.animationEnabled是否开启动画
activebool-是否处于激活状态
valuecolor''当前的颜色值(autoChange为false时等于changeValue)
defaultValuecolor'#fff'默认颜色值
autoChangebooltrue默认颜色值
changeValuecolordefaultValue更改的颜色值
titlestring''弹窗标题
alphaEnabledbooltrue透明度是否启用
openboolfalse弹窗是否打开
formatstring'hex'颜色格式
presetsarray[]预设颜色列表
presetsOrientationenumQt.Vertical预设颜色视图的方向(来自 Qt.*)
presetsLayoutDirectionenumQt.LeftToRight预设颜色视图的布局方向(来自 Qt.*)
titleFontfont-标题字体
inputFontfont-输入框文本字体
colorBgcolor-背景颜色
colorBordercolor-边框颜色
colorTitlecolor-标题颜色
colorInputcolor-输入框文本颜色
colorPresetIconcolor-预设视图图标颜色
colorPresetTextcolor-预设视图文本颜色
radiusBgHusRadius-背景圆角

presets 支持的属性:

属性名类型可选/必选描述
labelstring必选标签
colorsarray必选颜色列表
expandedbool可选默认是否展开

支持的函数:

  • toHexString(color: color): stringcolor 转为16进制字符串

  • toHsvString(color: color): stringcolor 转为hsv/hsva字符串

  • toRgbString(color: color): stringcolor 转为rgb/rgba字符串


支持的信号:

  • change(color: color) 颜色改变时发出

    • color 当前的颜色

代码演示

示例 1 - 基本用法

基本用法在 HusColorPicker 中已有示例。

import QtQuick
import HuskarUI.Basic

Column {
    spacing: 10

    HusRadioBlock {
        id: orientatioRadio
        initCheckedIndex: 0
        model: [
            { label: 'Horizontal', value: Qt.Horizontal },
            { label: 'Vertical', value: Qt.Vertical },
        ]
    }

    HusRadioBlock {
        id: layoutDirectionRadio
        initCheckedIndex: 0
        model: [
            { label: 'LeftToRight', value: Qt.LeftToRight },
            { label: 'RightToLeft', value: Qt.RightToLeft },
        ]
    }

    HusColorPickerPanel {
        title: 'color picker panel'
        defaultValue: '#1677ff'
        presets: [
            { label: 'primary', colors: HusThemeFunctions.genColor(HusColorGenerator.Preset_Blue) },
            { label: 'red', colors: HusThemeFunctions.genColor(HusColorGenerator.Preset_Red), expanded: false },
            { label: 'green', colors: HusThemeFunctions.genColor(HusColorGenerator.Preset_Green) },
        ]
        presetsOrientation: orientatioRadio.currentCheckedValue
        presetsLayoutDirection: layoutDirectionRadio.currentCheckedValue
    }
}