我正在创建一个Ubuntu程序来创建一个透明的弹出窗口。我希望它的行为类似于notify-osd弹出窗口。当鼠标悬停在窗口上时,它会变得更暗。当用户单击对话框时,事件将被发送到下面的窗口,以便用户通过弹出窗口进行单击。
我如何从gi.repository中使用Gtk来实现这一点?
发布于 2015-03-08 15:18:26
试试这个:
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()https://stackoverflow.com/questions/21465369
复制相似问题