SVG 图标

WidgetKit SVG 图标

WidgetKit 已支持在统一的字符串图标渲染路径中直接使用 .svg 路径。下面这些控件可以直接配置 SVG 文件,不需要额外封装为 QIcon

支持的控件

  • UIGQPushButton
  • UIGQRibbonPushButton
  • UIGQCheckBox
  • UIGQRadioButton
  • UIGQComboBox 下拉按钮图标
  • UIGQTabWidget 标签页图标
  • UIGQScrollBar 箭头和滑块图标

支持的路径形式

  • Qt 资源路径::/UIGearsWidgetKit/images/home.svg
  • 皮肤或主题相对路径:images/home.svg
  • 文件系统路径:./icons/home.svg

C++ 示例

UIGQPushButton* button = new UIGQPushButton(parent);
button->setThemeName(UIG_THEME_ICON_WITH_TEXT_BUTTON);
button->setIcon(":/UIGearsWidgetKit/images/home.svg");

UIGQComboBox* combo = new UIGQComboBox(parent);
combo->setThemeName(UIG_THEME_TEXT_COMBOBOX);
combo->setNormalBtnIcon(":/UIGearsWidgetKit/images/chevron-down.svg");
combo->setHotBtnIcon(":/UIGearsWidgetKit/images/chevron-down.svg");

UIGQScrollBar* scrollBar = new UIGQScrollBar(parent);
scrollBar->setOrientation(Qt::Vertical);
scrollBar->setScrollbarBtnIcon(true, ":/UIGearsWidgetKit/images/chevron-up.svg");
scrollBar->setScrollbarBtnIcon(false, ":/UIGearsWidgetKit/images/chevron-down.svg");
scrollBar->setScrollbarThumbIcon(":/UIGearsWidgetKit/images/grip.svg");

主题 JSON 示例

{
  "attr": {
    "btnIcon": ":/UIGearsWidgetKit/images/chevron-down.svg",
    "btnHotIcon": ":/UIGearsWidgetKit/images/chevron-down.svg"
  }
}

使用建议

  • 建议使用稳定的 viewBox 尺寸,例如 16x1618x1820x20
  • 禁用状态不需要单独准备灰色 SVG,库会自动绘制禁用态效果。
  • 文本和图标组合使用的控件,建议在示例程序中检查一次实际间距,确保当前主题下的显示效果合适。