Определение местоположения виджета GTK на экране для создания соответствующего всплывающего окна - PullRequest
0 голосов
/ 27 августа 2011

У меня есть кнопка с надписью import (стрелка вниз), и я пытаюсь определить ее местоположение, чтобы я мог создать всплывающее меню, чтобы сказать 1. с устройства 2. из папки.

Я не могу показатьсянайти больше, чем выделение в api docs, что относительно окна приложения.Пожалуйста, помогите, я пошлю воображаемые куки ^ _ ^.

, используя PyGI, если это имеет значение.

Ответы [ 2 ]

0 голосов
/ 29 августа 2011

Я уже разобрался с ответом, но пока не смог самостоятельно ответить.

Процесс выглядит следующим образом:

  1. определяет местоположение окна GdkWindow, которое не содержитоформление окон.: gdk_window_x, gdk_window_y
  2. определяет местоположение виджета относительно его GdkWindow: widget_x, widget_y

    x = gdk_window_x + widget_x

    y = gdk_window_y + widget_y

, поскольку все в графическом мире измеряется сверху слева (если не странно :-)), теперь у вас есть местоположение верхнего левого пикселя вашего виджета.

0 голосов
/ 27 августа 2011

Вы можете получить положение окна относительно экрана, используя window.get_position().Так как вы уже знаете, как определить положение кнопки относительно окна, необходимо сложить обе, чтобы получить координаты (относительно экрана) для размещения всплывающего окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...