一个gtk3的css使用的最简单的demo

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/FlayHigherGT/article/details/84339379

 

首先装好gtk3的依赖,不管是fedora还是ubuntu装好之后执行:

pkg-config --cflags --libs "gtk+-3.0" 

能正常显示gtk3的依赖情况说明gtk3已经装好,之后编译:

gcc css-demo.c `pkg-config --cflags --libs gtk+-3.0`

运行。。。

#include <stdio.h>
#include <gtk/gtk.h>
#include <stdlib.h>

void setCss(GtkWidget *widget, const gchar *data)
{
    GtkCssProvider *provider = gtk_css_provider_new ();
    GtkStyleContext *context = gtk_widget_get_style_context(widget);
    gtk_css_provider_load_from_data(provider, data, -1, NULL);
    gtk_style_context_add_provider(context, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
    g_object_unref (provider);
}

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), "hello, ubuntu gtk");
    g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
    gtk_widget_show(window);
    setCss (window, "window{border-radius:50px;background-color:green}");
    gtk_main();
    return 0;
}

setCss (window, "window{border-radius:50px;background-color:green}");这一行是设置css样式的代码,里面的内容大家可以去研究一下css的语法,每个控件都有什么样的样式。这里只给大家讲述我们是如何调用gtk的css的接口的。

猜你喜欢

转载自blog.csdn.net/FlayHigherGT/article/details/84339379
今日推荐