首先装好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的接口的。