SVG 图标
WidgetKit SVG 图标
WidgetKit 已支持在统一的字符串图标渲染路径中直接使用 .svg 路径。下面这些控件可以直接配置 SVG 文件,不需要额外封装为 QIcon。
支持的控件
UIGQPushButtonUIGQRibbonPushButtonUIGQCheckBoxUIGQRadioButtonUIGQComboBox下拉按钮图标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尺寸,例如16x16、18x18或20x20。 - 禁用状态不需要单独准备灰色 SVG,库会自动绘制禁用态效果。
- 文本和图标组合使用的控件,建议在示例程序中检查一次实际间距,确保当前主题下的显示效果合适。