pygtk窗口在调整大小时移动

2024-06-01 04:22:59 发布

您现在位置:Python中文网/ 问答频道 /正文

设置:

  • 操作系统:Ubuntu Precise(12.04)amd64
  • Python:2.7.3
  • GTK:2.24.0
  • WindowManager:metacity和FVWM2都表现出相同的行为

我有一个小的pygtk应用程序,其中包含一个treeview。窗口的resizable=False,因此当treeview展开/折叠时,窗口会自动调整大小以适应内容。这一切都很好。在

问题是当窗口调整大小时,它会保持在原来的位置上。我希望窗口的左上角在调整窗口大小时保持在同一位置。在

我发现用+x+y位置调用parse_geometry()将诱导所需的行为。但这并不总是一种选择。在典型的情况下,我希望窗口在鼠标所在的位置打开,而不是在固定的位置。在

我想我得准备一下gtk.gdk.HINT_用户位置,但据我所知,pygtk的set_geometry_hints()版本不允许像C和Perl接口那样传递gdkwindowint。在

当内容导致窗口大小改变时,如何使窗口左上角保持静止?在

更新:

因为parse_geometry()在前面为我设置了位gtk.main公司(),我打电话来

gobject.timeout_add(500, self.fix_window)

回调是:

^{pr2}$

虽然这是可行的,但它是丑陋的,所以我还是希望有更好的选择。在


Tags: 应用程序内容gtkparseubuntuamd64pygtk小时