Как вывести кнопку PyGTK вперед? - PullRequest
1 голос
/ 07 апреля 2011

У меня есть таблица gtk.Table, к которой я прикрепил несколько кнопок gtk. Некоторые из них перекрывают другие.Однако я не могу понять, как вывести определенную кнопку вперед.Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Я боролся с проблемой, похожей на эту, и пришел к выводу, что это не было возможно официально зарегистрированным способом ... gtk.Table, похоже, не был разработан, чтобы справиться с идеей, что вещи могут пересекаться. Казалось, что виджеты отображаются в порядке, связанном (но не совсем) с порядком их добавления в таблицу.

В итоге я определил, какие виджеты перекрывались, и написал код для переключения их видимости в зависимости от того, какой из них подходит для текущего состояния. Это было возможно только из-за специфики моего приложения, оно может не сработать для вас.

Один путь, который я не исследовал до сих пор, но мог бы быть жизнеспособным: перехват события expose на таблице gtk и передача его детям в определенном порядке (это быстро усложнилось, но может сработать). Мое понимание событий gtk.Widget неполное, могут быть и другие события, которые также необходимо перехватывать.

0 голосов
/ 12 апреля 2011

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

...