自定义gtk窗口标题栏

时间:2010-11-15 12:29:23

标签: gtk

如何自定义gtk窗口标题栏。我需要添加自定义按钮和标题栏图像。alt text

3 个答案:

答案 0 :(得分:2)

你做不到。标题栏由窗口管理器绘制,而不是由GTK绘制。您可以告诉窗口管理器使用window.set_title()设置标题,您可以使用window.set_icon()window.set_icon_name()或者设置窗口管理器可能显示或不显示的图标,或者window.set_icon_from_file()。就是这样。

答案 1 :(得分:1)

从 GTK 3.10 开始,您可以使用 gtk_window_set_titlebar

gtk_window_set_titlebar (GtkWindow *window, GtkWidget *titlebar) 如您所见,您需要的唯一参数是您要自定义的窗口和用作标题栏的 GtkWidget。 GTK 开发人员建议使用 GtkHeaderBar,因为它提供了一些您期望从标题栏获得的功能,例如开箱即用的关闭窗口按钮,但您可以自由使用任何其他 GtkWidget

答案 2 :(得分:0)

这是一个有效的解决方案:

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {
    GtkWidget *window;
    gtk_init(&argc, &argv);
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window), "UV with Y variable");
    gtk_widget_show_all(window);
    gtk_main();
    return 0;
}