2014-03-13 64 views
1

我正在使用PyGi Gtk3和它Gtk.Window增加了一个恼人的边框部件和主窗口:如何删除Gtk Widgets和Window周围的边框?

Gtk.Window border example

边框是两个图像之间和外面这个灰色边框窗户。任何人都知道如何彻底删除它?所以这两个图像可以无缝连接在一起。

这是我的代码:

#!/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() 

回答

0

在设定从GtkWidget的继承为FALSE“页边距”属性给一试。在C中,这是使用g_object_set完成的。

+0

嗨,你能解释一下这一点吗?我已经尝试在窗口中使用'self.set_border_width(0)'而没有任何效果。这是相同还是不同? – Lars

+0

我刚刚测试过你的代码,实际上我没有使用与你使用的代码相同的灰色区域。因此,无论是使用某种调整过的主题,还是更可能属于图片的灰色区域。顺便说一句,不,set_border_width与边际属性无关。 “margin”是一个GtkWidget属性。您可以使用self.album_cover.set_property(“margin”,0)'设置它的值,但默认值已经为0,所以我认为它不会改变任何内容。阅读http://python-gtk-3-tutorial.readthedocs.org/en/latest/objects.html#properties以了解如何操作属性。 – liberforce

+0

我正在使用Awesome WM。在真棒我有灰色地带,但后来,我已经在基本的操作系统环境中尝试过,灰色地带消失。真棒不使用窗口组成,所以我已经丢弃它。还剩下什么?这与主题有关吗?因为我的应用没有此边框,所以可能有办法将其禁用。 非常感谢你的帮助。 – Lars

相关问题