首页 > 代码库 > GTK3.0 使用CSS设置控件背景色
GTK3.0 使用CSS设置控件背景色
********************************************************************************************************************
我已参加2014“博客之星的”评选,觉得我的文章对您有帮助的,请投上您宝贵的一票
***********************************************************************************************************************
GTK 2.0 在windows运行下,会出现文本框无法输入的问题。这个查找了很多资料,说是2.0版本的问题,目前还未找到好的解决方法。但是使用GTK3.0没有影响。而GTK3.0在设置控件背景图片没有找到合适的方法。参考网上给的例子使用CSS来实现(详细参见参考资料内容)。但是在window下运行并未生效。具体原因不明:
/* Compile with: gcc -Wall -o backimage `pkg-config --cflags --libs gtk+-3.0` backimage.c */ #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window; /*----- CSS ----------- */ GtkCssProvider *provider; GdkDisplay *display; GdkScreen *screen; /*-----------------------*/ gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* gtk_window_set_default_size (GTK_WINDOW(window), 500, 300); */ g_signal_connect (GTK_WIDGET(window), "destroy", G_CALLBACK (gtk_main_quit), NULL); /*------------- CSS --------------------------------------------------------------------------------------------------*/ provider = gtk_css_provider_new (); display = gdk_display_get_default (); screen = gdk_display_get_default_screen (display); gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER); gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), " GtkWindow {\n" " background-image: url(‘abstract-blue-02.jpg‘);\n" "}\n", -1, NULL); g_object_unref (provider); /*----------------------------------------------------------------------------------------------------------------------*/ gtk_widget_show_all (window); gtk_main (); return(0); }
GTK3.0 Ubuntu系统下安装命令如下:
apt-get install gtk3.0
参考资料:
http://www.gtkforums.com/viewtopic.php?f=3&t=988&sid=b63d18d182917efd7e2b04eb8c5e50c1&start=15
GTK3.0 使用CSS设置控件背景色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。