2016-04-07 5 views
0

Ich versuche, Fenster Herkunft in einem Mate Panel Applet zu bekommen.
Um genauer zu sein Ich möchte die Position meines Applets (x und y) auf dem Bildschirm wissen, weil ich eine Schaltfläche habe, die ein Gtk.window zeigen/verstecken, aber ich muss dieses Fenster neben meinem Button (oben, unten, rechts, links, je nachdem, wo der Gehilfe Panel)Wie bekomme ich den Fensterherkunftspunkt (Position) im Partnerapplet?

enter image description here

der einzige Weg, die ich gefunden ist get_origin zu nennen, aber es gibt ein Problem. Es sollte ein Tupel x, y zurückgeben, aber stattdessen wie die c-Funktion benötigt es zwei ganze Zahlen und da Python Verwendung pass-by-Wert ist natürlich funktioniert es nicht.

Dieser Code ist gültig, aber nutzlos:

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

Alle anderen „Art und Weise zu nutzen“ get_origin (die Sie in jedem doc kann) nicht funktioniert, weil es 3 args erfordern (ich weiß nicht, warum)

So suche ich nach einer Möglichkeit, um die Position meines Applets zu bekommen (auch wenn es nicht genau ist) oder um mein Fenster neben meinem Button zu bewegen.

+0

Ist das pygtk oder python-gobject ('von gi import')? – andlabs

+0

@andlabs ich denke, python-gobject 'von gi.repository importieren Gtk' und Gtk 2.0 nicht Gtk3 – Duffydake

+0

Ich verstehe das Problem nicht. 'Get_origin()' sollte funktionieren. Rufen Sie es an, nachdem das Fenster zugeordnet wurde? – elya5

Antwort

0

ich eine Alternative fand get_root_coords

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

Es funktioniert auch mit mehreren Bildschirmen und ich bin der Lage, meine Gtk.Window neben meinem Knopf mit ihm zu bewegen.

Verwandte Themen