Вы можете сделать это в GTK 3.2 и более поздних версиях, используя GtkOverlay
.
Если вы не можете выполнить обновление, вот краткое изложение устаревшего способа: подключитесь кexpose-event
сигнал DrawingArea
и нарисуйте информацию на себе, используя Каир.Когда информация изменится, запустите перерисовку области рисования, используя widget.queue_draw()
.Убедитесь, что ваш обработчик запускает после обработчик, который рисует фактическое видео в области рисования.Это будет работать для меток и неинтерактивных элементов графического интерфейса.
Если вы хотите, чтобы реально функционирующий элемент графического интерфейса завис над вашим видео, это довольно сложно, и я не знаю, как это сделать.Я не думаю, что Fixed
гарантирует какой-либо z-порядок.Я подозреваю, что ваши кнопки и еще много чего перезаписываются видео, отображаемым в области рисования, поэтому, возможно, сработает перерисовка тех, что в вашем обработчике expose-event
сработают.