gtk: развернуть виджет так, как будто в нем есть текст - PullRequest
0 голосов
/ 19 августа 2010

У меня есть виджет GTK, в данном случае TreeView. Он начинается довольно маленьким и сжатым, так как в нем нет текста, кроме имен столбцов. Когда я добавляю вещи, он увеличивается по горизонтали, чтобы покрыть текст, и вертикально, чтобы покрыть дополнительные строки. Если я заберу их, он сохранит свой расширенный размер.

Отчасти раздражает, что размер вашего окна всегда изменяется при добавлении. Мой вопрос - как я могу «предварительно» определить размер виджета? Например, один из способов - заполнить его ненужным текстом, который, как мне кажется, самый большой размер, который он может получить, а затем удалить текст, но это будет выглядеть не очень красиво. Есть ли лучший способ?

1 Ответ

1 голос
/ 20 августа 2010
  1. Простейший ответ: treeview.set_size_request(width, height) (но тогда ваше древовидное представление не будет расти, когда это потребуется впоследствии.)
  2. Есть ли ваше дерево в коробке? Вы пробовали упаковывать его с expand=True и fill=True?
  3. window.set_default_size(width, height) в целом gtk.Window - лучшее решение, потому что оно «предварительно» измеряет окно, как вы говорите. Он по-прежнему может увеличиваться или уменьшаться пользователем.
...