我在我的GUI中添加了一个gtk.VScale(),尺寸非常小,但为什么呢?
我有这个代码示例:
def __init__(self, parent, grid):
self.parent = parent
self.tooltips = gtk.Tooltips()
self.ajustement = gtk.Adjustment(0.0, 0.0, 101.0, 0.1, 1.0, 1.0)
self.scaleH = gtk.VScale(self.ajustement)
self.bt_lumiere = gtk.ToggleButton()
self.bt_lumiere.set_active(False)
self.bt_lumiere.set_image(gtk.image_new_from_file('data/icons/moon.jpg'))
self.bt_lumiere.connect("pressed",self.on_changer_etat_lumiere)
self.barreLumiere = BarreLuminosite(self)
box = gtk.VBox(False,5)
box.pack_start(self.bt_lumiere, True)
box.pack_start(self.scaleH,True)
grid.attach(self.align(box, padright=1, padleft=1), 1,2,1,5)
def align(self, widget, xalign=0, yalign=0.5, padtop=0, padbottom=0, padleft=0, padright=0):
ali = gtk.Alignment(xalign=xalign, yalign=yalign)
ali.add(widget)
ali.set_padding(padtop, padbottom, padleft, padright)
return ali
答案 0 :(得分:0)
你没有指定Gtk或python版本,所以很难回答。此代码适用于Gtk 3和Python 3,使用内省。也许这会有所帮助:
hbox = Gtk.HBox()
large_label = Gtk.Label("Large label")
self.ajuste = Gtk.Adjustment(0.0, 0.0, 101.0, 0.1, 1.0, 10)
self.vscale = Gtk.VScale.new(self.ajuste)
vbox = Gtk.VBox()
lbl = Gtk.Image.new_from_icon_name( "system-run", Gtk.IconSize.DND)
vbox.pack_start(lbl, False, False, 0)
vbox.pack_start(self.vscale, True, True, 0)
hbox.pack_start(large_label, False, False, 0)
hbox.pack_start(vbox, False, False, 0)
self.add(hbox)
self.show_all()
请注意,在vbox.pack_start
的{{1}}中,大小调整选项为vscale
,因此可以扩展比例。
您也可以在比例尺上调用True
,然后可以使用set_size_request
,set_margin_left
,set_margin_right
和_bottom
更改边距。上面代码的结果是: