如何防止Gtk.Switch在Gtk.Grid内扩展?

如何防止Gtk.Switch在Gtk.Grid内扩展?,gtk,gtk3,pygtk,Gtk,Gtk3,Pygtk,在下面的示例代码中,我有两列Gtk.Grid,其中包含Gtk.Switch。如何防止此开关填满整个单元格 #/垃圾桶/蟒蛇3 导入gi gi.要求_版本(“Gtk”、“3.0”) 从gi.repository导入Gtk 类MyWindow(Gtk.Window): 定义初始化(自): Gtk.Window.uu init_uuu(self,title=“Foo”) 自行设置边框宽度(12) my_grid=Gtk.grid() 我的网格。设置列间距(12) 我的网格。设置行间距(6) 添加(我的

在下面的示例代码中,我有两列
Gtk.Grid
,其中包含
Gtk.Switch
。如何防止此开关填满整个单元格

#/垃圾桶/蟒蛇3
导入gi
gi.要求_版本(“Gtk”、“3.0”)
从gi.repository导入Gtk
类MyWindow(Gtk.Window):
定义初始化(自):
Gtk.Window.uu init_uuu(self,title=“Foo”)
自行设置边框宽度(12)
my_grid=Gtk.grid()
我的网格。设置列间距(12)
我的网格。设置行间距(6)
添加(我的网格)
第一个标签=Gtk.label(label=“第一个标签”)
第一个标签。设置标签对齐(1)
我的网格添加(第一个标签)
my_button=Gtk.button(label=“相当大的按钮”)
我的网格。添加(我的网格按钮)
第二个标签=Gtk.label(label=“第二个标签”)
第二个标签。设置标签对齐(1)
my_grid.attach(第二个_标签,0,1,1,1)
my_switch=Gtk.switch()
我的网格。连接(我的网格开关,1,1,1,1)
win=MyWindow()
win.connect(“破坏”,Gtk.main_退出)
赢,全力以赴
Gtk.main()
谢谢

再次阅读后,我发现小部件有一个名为的属性,在本例中,该属性在默认情况下似乎有值

解决方案是简单地添加以下行,以指示开关的
halign
应为
START

my_开关。设置(Gtk.Align(1))

这里发生的事情是使用attach():

将校准标志设置为Gtk.Align.FILL

添加以下内容

my_switch.props.halign = Gtk.Align.START
将确保开关不会填满整个空间,如果愿意,可以使用Gtk.Align.CENTER或Gtk.Align.END

my_switch.props.halign = Gtk.Align.START