gtk: 设置活动窗口

3 投票
4 回答
4686 浏览
提问于 2025-04-16 14:12

我有一个 gtk.Window 窗口。请问我该怎么把它设置为当前活动窗口?我可以用 is_active() 来检查它是否已经是活动窗口,但我找不到怎么让它变成活动窗口的方法。

额外加分:如果我有一个 gtk.Widget 组件,怎么才能把它所在的窗口设置为活动窗口呢?

4 个回答

1

如果 W 是一个 gtk.Window 对象:

import wnck
wnck.window_get(W.window.xid).activate()
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))
11

感谢这个讨论串,答案是要调用 gtk.Window.present()

撰写回答