Я пытаюсь построить сетку GTK со случайной высотой ячейки, вот результат на данный момент:
https://framapiaf.s3.framasoft.org/framapiaf/media_attachments/files/003/551/599/original/d513c5fb60a87e1e.png
Но у меня все еще есть некоторые проблемы, поэтому мне было интересно, существует ли какой-либо уже написанный макет для достижения чего-то подобного. Мой код уродлив, так что не стесняйтесь, это было просто что-то, чтобы попробовать это:
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()
То, что делает мой текущий код, это установка фиксированной ширины для потомка, затем получение высоты и добавление ее в сетку столбцов, чтобы следующие потомки были ниже
Так есть ли в gtk какой-либо макет, lib или что-нибудь еще такое?
Спасибо !!