我用网格创建了一个小对话框。这是它:
但我不明白为什么保证金不起作用:
class PreferencesDialog(Gtk.Dialog):
def __init__(self, parent):
Gtk.Dialog.__init__(self, "Preferences", parent, 0)
self.set_default_size(300, 300)
grid = Gtk.Grid(column_spacing=10,
row_spacing=10)
label = Gtk.Label("Custom Location")
switch = Gtk.Switch()
switch.set_active(False)
grid.add(label)
grid.margin_left = 20
grid.margin_right = 20
grid.margin_top = 20
grid.margin_bottom = 20
grid.attach(switch, 1, 0, 1, 1)
box = self.get_content_area()
box.add(grid)
self.show_all()
我看到窗口的大小:300x300不再起作用了。 你能帮帮我吗?
答案 0 :(得分:3)
Gtk小部件基于GObject,这意味着您必须通过props
attribute访问小部件的属性:
grid.props.margin_left = 20
grid.props.margin_right = 20
grid.props.margin_top = 20
grid.props.margin_bottom = 20
或者,您可以使用setter functions:
grid.set_margin_left(20)
grid.set_margin_right(20)
grid.set_margin_top(20)
grid.set_margin_bottom(20)