如何在GTK3应用程序中设置窗口的背景图像 [英] How to set bg image of a window in a GTK3 application

查看:187
本文介绍了如何在GTK3应用程序中设置窗口的背景图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现是这样的:

GdkPixmap *backPixMap = gdk_pixmap_create_from_xpm ( window , NULL , NULL , fileName );
gdk_window_set_back_pixmap( GTK_WIDGET( window )->window , backPixMap , FALSE );

但是GdkPixmap似乎已经过时了...

but it seems that GdkPixmap is obsolete now...

那么,对于GTK3,我如何设置GtkWindow的背景图像?

So, with GTK3, how can I set the background image of a GtkWindow?

推荐答案

您只需要使用叠加层即可.以下是一个示例.

You just need to use an Overlay. Following is an example.

class Window(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)

        self.overlay = Gtk.Overlay()
        self.add(self.overlay)

        self.bg = Gtk.Image()
        # Load file. Optionally scale it for window
        self.bg.set_from_file(BACKGROUND_IMAGE)
        # Wrapping in the Scrollable make it resizable.
        scrollable_wrapper = Gtk.ScrolledWindow()
        scrollable_wrapper.add(self.bg)
        scrollable_wrapper.set_size_request(700, 500)

        self.overlay.add(scrollable_wrapper)
        text = Gtk.Label("Test")
        self.overlay.add_overlay(text)

        self.connect('destroy', lambda w: Gtk.main_quit())
        self.show_all()


Window()
Gtk.main()

这篇关于如何在GTK3应用程序中设置窗口的背景图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆