gpt4 book ai didi

python - Gtk.Grid 中小部件的大小

转载 作者:行者123 更新时间:2023-11-28 18:33:28 26 4
gpt4 key购买 nike

我正在尝试在 9x9 Gtk.Grid 中安排多个 Gtk.Entry。我用 width_chars=1 设置了条目的大小(是的,我希望它们小)。问题是网格不考虑条目的大小并扩展它。我尝试使用 Gtk.Box 而不是 Grid(我无法将其排列为 9x9)并且它确实呈现了 1 个宽度的条目。程序在python3中。这是我的代码,我做错了什么?

from gi.repository import Gtk
wind=Gtk.Window(title='My App')
wind.connect('delete-event',Gtk.main_quit)
grid=Gtk.Grid()
wind.add(grid)
s=[[0 for x in range(9)] for x in range(9)]
for i,j in [(x,y) for x in range(9) for y in range(9)]:
s[i][j]=Gtk.Entry(width_chars=1,xalign=0.5,text='0')
grid.attach(s[i][j],j,i,1,1)
wind.show_all()
Gtk.main()

这会输出:Program output

Edit2:添加这个问题后,我开始知道网格从它的 child 那里继承了“扩展”属性。所以我尝试将条目的 halignhexpand 属性设置为 False,但它仍然产生相同的结果。
我还阅读了有关 Glade 的文章,并决定尝试通过它创建相同的布局。但它仍然产生相同的输出。有没有办法阻止小部件/网格/窗口像这样扩展?

Edit3:当我最初提出并回答这个问题时,我正在使用 ubuntu gnome 15.10。现在我正在使用常规的 ubuntu 14.04,我注意到一些有趣的事情。我尝试了同样的程序,这次我发现我不需要上面提到的任何一个命令来让它工作。如果有人解释为什么会发生这种情况,那将非常有帮助。

最佳答案

解决方案原来是为窗口设置默认大小并将其 heexpand 值设置为 False

wind.set_default_size(200,200)
wind.set_hexpand(False)

关于python - Gtk.Grid 中小部件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34738764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com