GTK:设置活动窗口

3

我有一个gtk.Window。我怎样才能设置它为活动窗口呢?我可以调用is_active()来查看它是否已经是活动窗口,但我不知道如何使它成为活动窗口。

额外加分:如果给定一个gtk.Widget,我该如何使其所属的窗口成为活动窗口?

4个回答

11

感谢这篇文章,答案是调用gtk.Window.present()函数。


3
这是我的解决方案(感谢Dan D指出wnck)
def activate(window):
    screen = wnck.screen_get_default()
    screen.force_update()
    wnckwin = [win for win in screen.get_windows() if win.get_xid() == window.window.xid][0]
    wnckwin.activate(gtk.gdk.x11_get_server_time(window.window))

1
如果W是一个gtk.Window

import wnck
wnck.window_get(W.window.xid).activate()

我收到了“xid属性不受支持”的错误信息;顺便说一下,我在Windows上,如果我能获取hwnd,那么我就可以解决它。 - Claudiu
哦,是的,因为在 MS Windows 上不存在 X11 窗口管理器,所以 libwnck 也不存在。 - Dan D.

-1

你也可以使用gtk.Dialog.run(如果它是一个对话框)除了gtk.Window.present


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接