一個gtk3的css使用的最簡單的demo
阿新 • • 發佈:2018-12-02
首先裝好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的介面的。