[我已參加2014“博客之星的”評選,覺得我的文章對您有幫助的,請投上您寶貴的一票](http://vote.blog.csdn.net/blogstar2014/details?username=jsh13417#content)
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](http://www.gtkforums.com/viewtopic.php?f=3&t=988&sid=b63d18d182917efd7e2b04eb8c5e50c1&start=15)
windows 應用程序添加ICON
https://mail.gnome.org/archives/gtk-app-devel-list/2005-November/msg00169.html