我想知道是否可以在Gtk中使用Cairo绘制(即设计)窗框,以便可以使用Cairo API来装饰表面,例如添加渐变。
我如何淡化 GTK 装饰并使用 Cairo 之类的东西重新设计它们?
最佳答案
通常在 Linux 上窗口装饰(边框、标题栏、关闭和最小化按钮等)是由窗口管理器绘制的,这有助于在不同窗口之间保持相似的外观和行为。
但是,应用程序可能会向窗口管理器发出信号,表示它想要禁用窗口管理器提供的装饰并绘制自己的装饰。在 Gtk+ 中,可以通过调用 gtk_window_set_decorated
来实现在 GtkWindow
上,然后使用 Cairo 绘制自己的边框。
关于gtk+: How to Draw Custom Window Borders Like Chrome or Steam,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43593613/