我正在尝试构建一个单元格高度随机的GTK网格,这是现在的结果:
但是我仍然遇到一些问题,所以我想知道是否存在任何已经写好的布局来实现这样的目标。我的代码很丑陋,所以不要大惊小怪,只是尝试一下而已:
column_rows = [0,0,0,0]
row = 0
column = 0
from random import randint
width = int(self.get_size().width/4)
while( row != 100):
text = ""
for i in range(0,randint(0, 100)):
text = text+"bla "
notear = {"shorttext":text, "title":"title"}
note = NoteWidget(notear)
note.set_size_request(width, -1)
note.show_all()
note.modify_bg(Gtk.StateFlags.NORMAL, Gdk.color_parse('white'))
height = note.size_request().height
self.note_container.attach(note, column, column_rows[column], 1, height)
column_rows[column] = column_rows[column]+height
print(height)
if(column == 3):
column = 0
row = row+1
else:
column = column + 1
self.note_container.show_all()
我当前的代码所做的是为子级设置固定宽度,然后获取高度并将其添加到列网格中,以便下一个子级位于
那么,有没有任何布局,lib或gtk已经做过的事情?
谢谢!!