到目前为止,我还没有找到任何办法让GtkProgressBar的背景透明化。我尝试将透明图像设置为背景,但忽略了Alpha通道。可以这样做吗?
答案 0 :(得分:0)
Gtk没有处理透明度的机制。
这将造成重大的性能损失。即使是小部件的覆盖部分的更改也必须生成公开事件。 我想应该有一种以自己的方式组合小部件的方法。但我认为在C / Gtk中实施这项工作需要做很多工作。在C ++ / gtkmm中,实现自动渲染的自定义窗口小部件并不难。
答案 1 :(得分:0)
您可以使用gtkrc文件进行尝试。 尝试做这样的事情。
`style“tc-theme-ProgressBar” { xthickness = 1 ythickness = 1
engine "pixmap"
{
image
{
function = BOX
orientation = HORIZONTAL
file = "./buttons/TransparentImage.png"
border = { 0, 0, 0, 0} # = {Left, Right, Top, Bottom}
stretch = TRUE #This stretches the image
}
}
}
类“GtkProgressBar”样式“tc-theme-ProgressBar”