LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2042|回复: 15

gtk/gnome编程

[复制链接]
发表于 2006-3-8 14:56:18 | 显示全部楼层 |阅读模式
各位好:
     在gtk/gnome编程中,有个entry构件, 我现在想在里面输入文本,当输入文本时,由于构件内容改变,其背景颜色改变为红色,当3秒后,没有再变化,就恢复到正常的颜色,不知道这样能不能实现,望各位大侠不吝赐教,谢谢先!!!!!!!!
我的邮箱:xiaokangshi2002@163.com   qq :63378320
发表于 2006-3-8 16:03:46 | 显示全部楼层
用一个gtk_timeout_add不停的判断?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-9 11:24:49 | 显示全部楼层
上面的仁兄你好,你能不能讲的详细一点呀,还有关于颜色改变的问题应该怎么解决亚?谢谢!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2006-3-9 13:50:40 | 显示全部楼层
在entry的on_changed时间里改变颜色并启动timer,如果以前启动过的话就重启timer,timer间隔为3000,timer到时就把entry颜色改回去
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-9 14:39:29 | 显示全部楼层
linux_Lyb 你好:
       关于改变entry构件的颜色问题,具体应该怎么做亚 ,你能讲的详细点吗????非常感谢!!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-9 14:46:10 | 显示全部楼层
也就是说具体应该调用什么函数 来改变entry构件的颜色呢??
回复 支持 反对

使用道具 举报

发表于 2006-3-9 16:19:05 | 显示全部楼层
用gtk_widget_set_name(entry,"COLOR1 ")啊,然后在rc文件里面设置好COLOR1,COLOR2等等...大概应该是这样的吧 .很久没写 了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-9 16:55:38 | 显示全部楼层
hobbolo你好:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-9 16:56:54 | 显示全部楼层
hobbolo你好:
      请问rc文件 是什么亚?不好意思,让你见笑了,太菜了!!!!!!
回复 支持 反对

使用道具 举报

发表于 2006-3-9 18:10:26 | 显示全部楼层
rc是一个配置文件。该文件可用于给几乎任何控件设置颜色,也能为一些控件的背景贴上一幅像素图。
比如一开始要gtk_rc_parse("filename.rc")
然后你要给某个控件设置颜色啊背景图啊,
比如一个fixed,就要gtk_widget_set_name(fixed,"stye1")
然后有一个label,你要设置不同的颜色或是背景图gtk_widget_set_name(label,"stye2");
.....
在filename.rc文件里

# pixmap_path "<dir 1>:<dir 2>:<dir 3>:..."
#
pixmap_path "/tmp/........./pixmaps"
#
# style style1
# {
#   <option>
# }
#style style2
#{
#  <option>
#}
# widget <style1> style <style1>
# widget_class<style1> style <style1>
.......略
其中option可以为:
有几个指令用于改变一个控件的属性。
•        fg - 设置控件的背景色。
•        bg - 设置控件的前景色。
•        bg_pixmap - 设置控件的背景为一幅像素图。
•        font - 设置控件使用的字体。
另外,一个控件可以有几种状态,你可以为每种状态设置不同的颜色,图像和字体。这些状态是:
•        NORMAL - 控件的一般状态,如鼠标不位于控件上方,键未按下时控件所处的状态。
•        PRELIGHT - 当鼠标移到控件上方,在此状态下定义的颜色生效。
•        ACTIVE - 当处于控件上的鼠标键被按下或点击时,该控件被激活,相应的属性值将生效。
•        INSENSITIVE - 当控件被设置为不敏感(insensitive)时,它不能被激活,相应属性值起作用。
•        SELECTED - 选中一个对象时,取相应的属性值。
当用"fg"和"bg"关键字设置控件的颜色时,其格式是:
fg[<STATE>] = { Red, Green, Blue }
这里STATE是前述状态(PRELIGHT,ACTIVE,...)之一,Red,Green,Blue是范围0-1.0间的数值,{1.0,1.0,1.0}表示白色。这些数值必须是浮点型的,否则将被存为0,因此写为"1"的数值是无效的,应写为"1.0".0值写为"0"却不错,因为即使系统认不出也没关系。所有系统不认识的数值都会被设为0。
bg_pixmap除了用一个文件名取代颜色名外和以上格式很相似。
pixmap_path是一个由‘:’分隔开的路径表。当搜索你定义的图像文件时选择这些路径。
"widget_class" 设置一类控件的风格。这些类在控件概述中的类组织里列出。
"widget" 指令把一个特别命名的控件集设置为一个要求的风格,覆盖所有已有的风格。这些控件使用 _widget_set_name() 函数调用在应用程序中注册。这样你可以设置任一组控件的属性,而不是设置整个控件类的属性。我请求你为这些特定名称的控件写好文档,用户可能要定制它们。
当使用关键字parent作为属性值时,这个控件将继承它的父控件的属性。
定义一个风格时,可能会将以前定义风格的属性值分配给新定义的风格。
style "main_button" = "button"
{
  bg[PRELIGHT] = { 0.75, 0, 0 }
}
这个示例用"button控件的风格创建了一个新的 "main_button" 控件的风格,只改变 "button" 控件风格中的 font 属性和 prelight 背景色属性。
当然,许多属性不能应用在所有控件上,按常识这是不难分辨的。而任何能在一个控件上起作用的东西,都应能作为它的属性。


建议找一本gtk编程的书详细的看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表