Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1723486
  • 博文数量: 171
  • 博客积分: 11553
  • 博客等级: 上将
  • 技术积分: 3986
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-25 20:28
文章分类

全部博文(171)

文章存档

2012年(2)

2011年(70)

2010年(9)

2009年(14)

2008年(76)

分类: C/C++

2011-09-18 11:31:25

/**
* 修改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) |
给主人留下些什么吧!~~