|
gtk 与C语言编写工具栏改变背景颜色的功能,在linux上运行正常,但在windows上toolbar颜色无法改变,是什么原因?
#include <gtk/gtk.h> void on_button_clicked(GtkButton *button,gpointer data) { g_print("你点击的按钮是: %s !\n",(gchar*)data); } void quit() { gtk_main_quit(); } int main(int argc,char* argv[]) { GtkWidget* window; GtkWidget* box; GtkWidget* toolbar; GtkWidget* entry; GtkWidget* label; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window),"添加工具条"); gtk_window_set_default_size(GTK_WINDOW(window),500,100); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL); box=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(window),box); toolbar=gtk_toolbar_new(); gtk_container_set_border_width(GTK_CONTAINER(toolbar), 2); GdkColor color; color.red = 0x3333; color.green =0x9999; color.blue = 0xcccc; gtk_widget_modify_bg(toolbar, GTK_STATE_NORMAL, &color); gtk_rc_parse_string("style \"default\" \n{GtkToolbar::space_size = 50\n}"); gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar),GTK_STOCK_NEW,"新建一个文件","新建",GTK_SIGNAL_FUNC(on_button_clicked),(gpointer)("新建"),-1); gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar),GTK_STOCK_OPEN,"打开一个文件","打开",GTK_SIGNAL_FUNC(on_button_clicked),(gpointer)("打开"),-1); gtk_toolbar_insert_stock(GTK_TOOLBAR(toolbar),GTK_STOCK_SAVE,"保存一个文件","保存",GTK_SIGNAL_FUNC(on_button_clicked),(gpointer)("保存"),-1); gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),GTK_TOOLBAR_BOTH_HORIZ); gtk_box_pack_start(GTK_BOX(box),toolbar,FALSE,FALSE,0); gtk_widget_show_all(window); gtk_main(); return FALSE; }
|