您可以使用widget.get_allocation()来查找父窗口小部件的大小,使用pixbuf.scale_simple来缩放图像,如下所示:
allocation = parent_widget.get_allocation()
desired_width = allocation.width
desired_height = allocation.height
pixbuf = gtk.gdk.pixbuf_new_from_file('your_image.png')
pixbuf = pixbuf.scale_simple(desired_width, desired_height, gtk.gdk.INTERP_BILINEAR)
image = gtk.image_new_from_pixbuf(pixbuf)
Run Code Online (Sandbox Code Playgroud)
如果您希望每次调整窗口大小时图像都缩放,您必须在连接到父窗口小部件的size_allocate信号的函数中放置上面的代码(或类似的东西,以避免每次从磁盘加载图像) .要避免无限循环,请确保放在窗口小部件中的图像不会再次改变其大小.
参考文献: