/**
* 修改GtkLabel的前景色和背景色
* 背景色的设置是通过GtkEventBox容器实现的,直接修改GtkLabel是无效的
* 前景色设置直接调用设置函数即可
* 本例子中使用了Gdk中的颜色函数
*/
#include
int main(int argc,char** argv)
{
gtk_init(&argc,&argv);
GtkWidget* main_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(main_win),5);
//创建一个GtkEventBox,用作GtkLabel的父容器,并修改背景色
GtkWidget* v = gtk_event_box_new();
gtk_container_add(GTK_CONTAINER(main_win),v);
GtkWidget* b = gtk_label_new("Hello GTK Label FG & BG");
gtk_container_add(GTK_CONTAINER(v),b);
//创建颜色:红色前景色,绿色背景色
GdkColor fg_color,bg_color;
gdk_color_parse("red",&fg_color);
gdk_color_parse("green",&bg_color);
//调用widget颜色设置函数
gtk_widget_modify_fg(b,GTK_STATE_NORMAL,&fg_color);
gtk_widget_modify_bg(v,GTK_STATE_NORMAL,&bg_color);
g_signal_connect_swapped(G_OBJECT(main_win),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show_all(main_win);
gtk_main();
return 0;
}
阅读(1989) | 评论(0) | 转发(0) |