我还在学习PyGTK,而且每次按F1键时,我都想弄清楚如何告诉窗口固定/取消固定(也就是总是在顶部切换)。
这是我到目前为止所得到的。
#!/usr/bin/env python
import gtk
class app(gtk.Window):
def pinning(self, widget, event) :
if event.keyval == gtk.keysyms.F1 :
self.set_keep_above(True)
def __init__(self):
super(app, self).__init__()
self.set_position(gtk.WIN_POS_CENTER)
self.set_title("TestApp")
self.set_default_size(320, 200)
self.connect("destroy", gtk.main_quit)
self.connect("key-press-event", self.pinning)
self.show_all()
app()
gtk.main()
答案 0 :(得分:1)
不幸的是,没有get_keep_above()
方法。你必须连接到窗口的window-state-event
信号;在event
参数中,阅读new_window_state
字段以查看是否设置了粘性标记,然后自行跟踪,例如在self.is_kept_above
中。
然后你可以做
if self.is_kept_above:
self.set_keep_above(False)
else:
self.set_keep_above(True)
在你的F1处理程序中。
答案 1 :(得分:0)
一般来说,你可以捕捉按键,然后发出你想要的任何信号,就像我在这个回答中写的那样:PYGTK redirect event to TreeView