不确定这是一个错误还是只是一个非常烦人的功能,但我无法在 Glade Designer 中的任何按钮上显示图像。
我是否需要更改某些属性才能强制它显示图像?
答案1
以下步骤应该有效(从您的问题来看,您可以从步骤 5 开始,但我已经为未来的用户将所有步骤都包括在内)。
- 确保要使用的图标图像位于
your_app/data/media
- 在 glade 中选择要应用图像的小部件
icon widget
在右侧工具按钮属性面板上选择edit image
,将图像小部件添加到按钮中- 编辑您刚刚创建的图像小部件,使用右侧面板添加图像(选择
file name
并edit image
浏览到您的图像 file name
在出现的文件名前面加上前缀,../media/
以便 glade 可以看到它。
您可以在以下位置看到该过程从第 33 分钟开始的截屏:创建你的第一个应用视频乔诺·培根被释放。
答案2
我相信这是因为默认情况下(不确定它是 GNOME 范围还是 GTK 设置),按钮中不显示任何图像,所以我不确定是否有办法解决这个问题。
这个 Stackoverflow 问题暗示按钮中未显示库存图像,我认为这也适用于自定义图像。
您可以尝试该问题中提到的解决方法,看看它是否适合您:
from gi.repository import Gtk
settings = Gtk.Settings.get_default()
settings.props.gtk_button_images = True
我还注意到,工具栏按钮图像不受此设置的影响,并且总是如图所示。只需确保将其添加../media
到 Glade 中的图像路径前面,正如 Garry Cairns 在他的回答中提到的那样。
答案3
如果 glade 不适合您,您也可以尝试使用 Python 来完成:
image = Gtk.Image()
image.set_from_file("data/media/settings.png")
image.show()
button = self.builder.get_object("yourButton")
button.add(image)
答案4
实际上,您所做的一切都是正确的……文件名“fb.ico”就是问题所在!请提供图片的完整链接。当您运行代码时,它会在您的 glade 窗口中显示您的图片。您知道的 :-)