>  기사  >  웹 프론트엔드  >  GTK3.0 使用CSS设置控件背景色_html/css_WEB-ITnose

GTK3.0 使用CSS设置控件背景色_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:51:121847검색

********************************************************************************************************************

我已参加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>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);}</gtk>

GTK3.0 Ubuntu系统下安装命令如下:

apt-get install gtk3.0


参考资料:

http://www.gtkforums.com/viewtopic.php?f=3&t=988&sid=b63d18d182917efd7e2b04eb8c5e50c1&start=15

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.