Python 如何删除Gtk小部件和窗口周围的边框?

Python 如何删除Gtk小部件和窗口周围的边框?,python,gtk,pygtk,Python,Gtk,Pygtk,我正在使用PyGi Gtk3制作一个Gtk.窗口,它在小部件和主窗口周围添加了一个恼人的边框: 边框是两幅图像之间以及窗口外部的灰色边框。有人知道如何完全移除它吗?因此,这两幅图像可以无缝连接在一起 这是我的代码: #!/usr/bin/python3 #encoding:utf-8 from gi.repository import Gtk, Gdk class TestMainWindow(Gtk.Window): def __init__(self):

我正在使用PyGi Gtk3制作一个Gtk.窗口,它在小部件和主窗口周围添加了一个恼人的边框:

边框是两幅图像之间以及窗口外部的灰色边框。有人知道如何完全移除它吗?因此,这两幅图像可以无缝连接在一起

这是我的代码:

#!/usr/bin/python3
#encoding:utf-8


from gi.repository import Gtk, Gdk


class TestMainWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Test Window")
        self.set_resizable(False)

        self.box = Gtk.Box(orientation='vertical')
        self.add(self.box)

        self.album_cover = Gtk.Image()
        self.album_cover.set_from_file('../reference/album-cover.jpg')
        self.box.pack_start(self.album_cover, True, True, 0)

        self.album_cover2 = Gtk.Image()
        self.album_cover2.set_from_file('../reference/album-cover.jpg')
        self.box.pack_end(self.album_cover2, True, True, 0)


def main():
    win = TestMainWindow()
    win.connect('delete-event', Gtk.main_quit)
    win.show_all()
    Gtk.main()


if __name__ == '__main__':
    main()

尝试将从GtkWidget继承的“边距”属性设置为FALSE。在C语言中,这是使用g_object_set完成的。

Hi,你能再解释一下吗?我已经尝试在窗口中使用
self.set\u border\u width(0)
,但没有效果。这是相同的还是不同的?我刚刚测试了你的代码,事实上,我没有灰色区域使用你使用的代码。所以,要么你在使用某种经过调整的主题,要么更可能是灰色区域属于图像。顺便说一句,否,设置_border_width与边距属性无关。“保证金”是GtkWidget财产。您可以使用self.album\u cover.set\u属性(“margin”,0)设置它的值,但是默认值已经是0,所以我认为它不会改变任何内容。阅读以了解如何操作属性。我正在使用很棒的WM。在Awesome中,我有灰色区域,但后来,我在一个基本的操作系统环境中尝试了它,灰色区域消失了。Awesome没有使用窗口合成,所以我放弃了它。还剩下什么?那跟主题有关吗?因为我的应用程序没有这个边界,所以可能有办法禁用它。非常感谢您的帮助。顺便说一句,当我说我没有灰色边框时,我的测试配置是GNOME 3.6+默认Adwaita主题。