我想让Gtk +窗口的背景透明,以便只有窗口中的窗口小部件可见.我找到了一些教程:
http://mikehearn.wordpress.com/2006/03/26/gtk-windows-with-alpha-channels/
http://macslow.thepimp.net/?p=26
但他们似乎都在听"揭露"事件,然后委托开罗进行渲染.这意味着不会渲染添加到窗口的其他窗口小部件(例如,我也尝试向窗口添加按钮).
我看到GtkWidget上有一个方法modify-bg:http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-modify-bg
但是,GdkColor似乎不接受透明度参数:http://library.gnome.org/devel/gdk/stable/gdk-Colormaps-and-Colors.html
我也尝试了GtkWindow.set_opacity方法,但这也设置了窗口内容的不透明度,这不是我想要的.
我很感激任何人都可以提供的任何指导.
我最终尝试使用Tkinter模块用Python创建"形状奇特的窗口".但是现在我将满足于能够使背景透明,同时保持儿童小部件完全可见.
我知道这是通过wxPython和其他一些模块完成的,但我正在询问Tkinter的限制.
Tkinter可以创建一个清晰的画布或框架吗?它可以在没有画布或框架的情况下打包UI元素吗?单个UI元素可以透明吗?
它可以将鼠标点击位置传递回系统,以便在Z堆栈中处理它下面的任何窗口吗?
有没有办法使用Tkinter在Python 3.x中创建"加载屏幕"?我的意思是像Adobe Photoshop的加载屏幕,具有透明度等.我设法摆脱框架边框已经使用:
root.overrideredirect(1)
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
root.image = PhotoImage(file=pyloc+'\startup.gif')
label = Label(image=root.image)
label.pack()
Run Code Online (Sandbox Code Playgroud)
图像显示正常,但灰色窗口背景而不是透明度.
有没有办法为窗口添加透明度,但仍能正确显示图像?