2016-04-07 2 views
0

Я пытаюсь получить начало окна в апплет панели помощника.
Чтобы быть более точным, я хочу знать положение своего апплета (x и y) на экране, потому что у меня есть кнопка, которая показывает/скрывает Gtk.window, но мне нужно переместить это окно рядом с моей кнопкой (вверху, внизу, вправо, влево в зависимости от того, где панели Мата)Как получить начало окна (положение) в помощнике?

enter image description here

Единственным способом, который я нашел, чтобы позвонить get_origin, но есть проблема. Он должен возвращать кортеж x, y, но вместо этого, как функция c, ему нужны два целых числа, и поскольку использование python проходит по значению, конечно, это не сработает.

Этот код является действительным, но бесполезно:

window = self.get_window() 
x = 0 
y = 0 
window.get_origin(x, y) 

Всех другие «способ использования» get_origin (которые вы можете найти в любом документе) не работает, потому что это требует 3 арга (я не знаю, почему)

Так что я ищу способ получить позицию своего апплета (даже если это не так) или переместить мое окно рядом с моей кнопкой.

+0

Является ли этот pygtk или python-gobject ('from gi import')? – andlabs

+0

@andlabs это я думаю, python-gobject 'из gi.repository import Gtk' и Gtk 2.0 not Gtk3 – Duffydake

+0

Я не понимаю проблему. Использование 'get_origin()' должно работать. Вы называете это после отображения окна? – elya5

ответ

0

Я нашел альтернативный get_root_coords

window = self.get_window() 
x,y = window.get_root_coords(0, 0) 

Он работает даже с несколькими экранами, и я в состоянии пошевелить Gtk.Window рядом с моей кнопки с ней.

 Смежные вопросы

  • Нет связанных вопросов^_^