如何让图像出现在 Glade Designer 中的按钮上?

如何让图像出现在 Glade Designer 中的按钮上?

不确定这是一个错误还是只是一个非常烦人的功能,但我无法在 Glade Designer 中的任何按钮上显示图像。

在此处输入图片描述 在此处输入图片描述

我是否需要更改某些属性才能强制它显示图像?

答案1

以下步骤应该有效(从您的问题来看,您可以从步骤 5 开始,但我已经为未来的用户将所有步骤都包括在内)。

  1. 确保要使用的图标图像位于your_app/data/media
  2. 在 glade 中选择要应用图像的小部件
  3. icon widget在右侧工具按钮属性面板上选择edit image,将图像小部件添加到按钮中
  4. 编辑您刚刚创建的图像小部件,使用右侧面板添加图像(选择file nameedit image浏览到您的图像
  5. 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 窗口中显示您的图片。您知道的 :-)

相关内容