我想让我的HMI中的按钮透明但我无法找到任何功能,这可以做到!
使用下面的代码我只能让我的背景透明但不是组件。
Button = gtk_button_new_with_label ("MyButton");
gtk_window_set_opacity(GTK_Widget(Button), 0.3);
你能帮我吗?
答案 0 :(得分:0)
在这种情况下,问题很可能是在读取此函数的python文档时依赖操作系统(我知道你使用C但这应该不是问题),它提到了关于窗口系统功能的一些评论。 / p>
set_opacity (不透明度)[source]
<强>参数:强>
- 不透明度(浮点数) - 所需的不透明度,介于0和1之间
请求部分呈现
self
透明,不透明度0完全透明,1完全透明 不透明。 (不透明度值被限制在[0,1]范围内。)。这有效 在toplevel小部件和子小部件上,虽然有一些 限制:对于顶级窗口小部件,这取决于窗口的功能 系统。在X11上,这对X屏幕有任何影响 合成经理跑。见
Gtk.Widget.is_composited()
。上 它应该始终工作,虽然设置窗口的不透明度 显示窗口后,它会在Windows上闪烁一次。对于子窗口小部件,如果任何受影响的窗口小部件具有本机,则它不起作用 窗口,或禁用双缓冲。
因此,假设您仍然想要一个透明按钮,您当然可以根据Gtk.Image
和EventBox
以及button-press-event
和{{1}制作自定义按钮信号。您可以使用任何您喜欢的图像和不透明度。
由于我更喜欢Python的人,所以示例是在Python中,但在C中重现它应该相当容易:
button-release-event