GTK:如何获取GTK_图标_大小_按钮等的宽度和高度?

GTK:如何获取GTK_图标_大小_按钮等的宽度和高度?,gtk,Gtk,我需要将我自己的图像添加到GTK图标主题中,因此我需要以某种方式计算GTK用来显示不同预定义大小图标的像素大小:GTK图标大小大小大小大小大小大小大小大小大小大小大小大小大小大小按钮,GTK图标大小大小大小大小大小菜单,GTK_ICON_SIZE_对话框等。GTK手册说明,大小作为GTK ICON SIZE对象的GTK ICON SIZE属性的值可用。我在最新的ubuntu上执行了以下代码: #!/usr/bin/env python import gtk; print(gtk.settings

我需要将我自己的图像添加到GTK图标主题中,因此我需要以某种方式计算GTK用来显示不同预定义大小图标的像素大小:
GTK图标大小大小大小大小大小大小大小大小大小大小大小大小大小大小按钮
GTK图标大小大小大小大小大小菜单
GTK_ICON_SIZE_对话框
等。GTK手册说明,大小作为
GTK ICON SIZE
对象的
GTK ICON SIZE
属性的值可用。我在最新的ubuntu上执行了以下代码:

#!/usr/bin/env python
import gtk; print(gtk.settings_get_default().get_property('gtk-icon-sizes'))
但产出很短:

'panel-menu=22,22;gtk-button=16,16'

我在哪里可以找到其余的大小,例如
GTK_图标大小_对话框
GTK_图标大小_大工具栏

GTK将图标的大小调整为所需的大小。根据,您应该至少制作一个48x48图标,还可以选择制作一个可缩放的SVG图标。这足以显示这些尺寸中的任何一种


建议您使用一些辅助尺寸,以尽量减少GTK内部调整图标大小的频率。

只需使用GTK图标主题添加内置图标将图像添加到图标列表中,然后将其用作命名图标即可

Vala中的一个例子:

Gdk.Pixbuf pixbuf;
pixbuf = new Gdk.Pixbuf.from_file_at_size(Path.build_filename(AutovalaPluginConstants.DATADIR,"valaplugin","application.svg"),-1,-1);
Gtk.IconTheme.add_builtin_icon("autovala-plugin-executable",-1,pixbuf);

谢谢但是如果
GTK图标大小中没有这样的值,那么GTK如何知道什么是像素大小?它是在某个地方硬编码的吗?不,我相信它是由主题指定的。@erick,没有API可以获得这样的大小吗?:(.我的一个图标需要动态生成(不是从文件生成),因此我需要知道环绕图标的像素大小,以便生成的图标适合。您应该获得窗口(小部件的窗口)的大小,您要在其中绘制图标,然后使图标相对于该大小。@ptomto是的,但我渲染图标,因此我需要知道它的宽度和高度(以像素为单位),以便将该像素设置为所需颜色:(