【发布时间】:2016-04-07 23:38:58
【问题描述】:
我尝试在配对面板小程序中获取窗口原点。
更准确地说,我想知道我的小程序(x 和 y)在屏幕上的位置,因为我有一个显示/隐藏 Gtk.window 的按钮,但我需要将该窗口移动到我的按钮旁边(上方,下方,右,左取决于配对面板的位置)
我找到的唯一方法是致电get_origin,但有一个问题。它应该返回一个元组 x,y 但与 c 函数一样,它需要两个整数,并且由于 python 使用按值传递,它当然不起作用。
此代码有效但无用:
window = self.get_window()
x = 0
y = 0
window.get_origin(x, y)
所有其他“使用方式”get_origin(您可以在任何文档中找到)都不起作用,因为它需要 3 个参数(我不知道为什么)
所以我正在寻找一种方法来获取我的小程序的位置(即使它不准确)或将我的窗口移动到我的按钮旁边。
【问题讨论】:
-
这是 pygtk 还是 python-gobject (
from gi import)? -
@andlabs 我猜是 python-gobject
from gi.repository import Gtk和 Gtk 2.0 而不是 Gtk3 -
我不明白这个问题。使用
get_origin()应该可以。您是在映射窗口后调用它吗? -
@elya5 如果我能做到
x,y = window.get_origin()我猜,但事实并非如此,它总是返回 1。我尝试过的所有其他功能都按预期工作,所以我需要其他功能相同的东西事物。当我点击我的按钮时我调用它,所以是的,窗口被映射了。