Python GTK - 将鼠标单击到下面的窗口

时间:2014-01-30 19:08:08

标签: python ubuntu gtk pygtk

我正在创建一个创建透明弹出窗口的Ubuntu程序。我希望它的行为类似于notify-osd弹出窗口。当鼠标悬停在窗口上时,它会更加褪色。当用户单击对话框时,事件将发送到下面的窗口,以便用户单击弹出窗口。

如何使用gi.repository中的Gtk实现这一目标?

1 个答案:

答案 0 :(得分:0)

试试这个:

from gi.repository import Gtk, Gdk

w1 = Gtk.Window() 
w2 = Gtk.Window()

def w2_hide(widget, event):
    w2.set_opacity(0.25)

def w2_show(widget, event):
    w2.set_opacity(0.75)

def w2_click(widget, event):
    w2.hide()

w1.set_size_request(600, 400)
w2.set_transient_for(w1)
w2.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)

w1.show()
w2.show()
w2_show(w2, None)

w1.connect("destroy", Gtk.main_quit)
w2.connect("leave-notify-event", w2_hide)
w2.connect("enter-notify-event", w2_show)
w2.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
w2.connect("button-press-event", w2_click)

Gtk.main()