二十二、Gtk4-自定义图标

文章介绍了如何使用XML定义GResource来管理SVG图标,通过预处理去除空白。GtkIconTheme对象可以添加资源路径,使得应用能直接通过icon-name属性使用图标。此外,系统路径下通常在hicolor目录添加图标,但其他主题可能不支持。更新图标缓存的命令是`gtk4-update-icon-cache`。
摘要由CSDN通过智能技术生成

1 资源

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/test">
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-camera-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-message-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-photo-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-record-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-refresh-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-input-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-fullscreen-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-search-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-trash-symbolic.svg</file>
    <file preprocess="xml-stripblanks">icons/scalable/actions/vpf-update-symbolic.svg</file>

    <file preprocess="xml-stripblanks">icons/scalable/apps/org.example.Typeset.svg</file>

    <file preprocess="xml-stripblanks">application.ui</file>

  </gresource>
</gresources>

只需要在GtkIconTheme对象下,添加资源路径,就可以直接icon-name属性使用图标。例如:icon-name=vpf-update-symbolic

  GtkIconTheme *theme = gtk_icon_theme_get_for_display (gdk_display_get_default ());
  gtk_icon_theme_add_resource_path (theme, "/test/icons");

2 系统路径下增加图标文件

好像只能在icons下的hicolor目录里面添加,我尝试在其他主题下添加,没有成功

请添加图片描述

sudo gtk4-update-icon-cache -qtf /usr/share/icons/hicolor

参考1:Themed Icons

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值