GTK的rc档格式

http://docs.huihoo.com/gnu/linux2/gtk_tut-19.html

 

GTK的rc档格式如以下的范例. 这个testgtkrc档从GTK distribution而来, 但我加了点料及注解进去. 您也可以加一点解释来让使用者做微调.

有好几个指令来改变该物件的属性.

  • fg - 前景颜色.
  • bg - 背景颜色.
  • bg_pixmap - 背景图片pixmap.
  • font - 字型.

除此, 一个物件可以有好几种状态. 您可以设定不同的颜色, 图案及字形. 这些状态是:

  • NORMAL - 物件一般的状态, 没有滑鼠滑过, 没有被按下.
  • PRELIGHT - 滑鼠滑过该物件.
  • ACTIVE - 当该物件被压下或按下, 该视窗会生效.
  • INSENSITIVE - 当该物件被设为失效.
  • SELECTED - 当物件被选择.

当我们使用"fg"及"bg"来设定该物件的颜色时, 其格式为:

fg[<STATE>] = { Red, Green, Blue }

这里STATE是我们以上所说的其中之一(PRELIGHT, ACTIVE etc), 而Red, Green及Blue为0到1.0, { 1.0, 1.0, 1.0 }为白色. 它们必须要为浮点数, "1"不行, 必须是"1.0", 否则会全部变成0. "0"可以. 不是以此格式者均为"0".

bg_pixmap跟以上都很近似, 除了变成档名以外.

pixmap_path是以":"做为分隔的一串路径. 这些路径会用来搜寻您所指定的pixmap.

 

font指令很简单:

font = "<font name>"

比较难的是找出想要的font名称. 用xfontsel或类似的工具来找会有点帮助.

"widget_class"设定物件的类别. 这些类别在物件概论中的类别组织图有列出来.

"widget"指令指定一个已经定好的形态给一个物件. 替代所有该物件的属性. 这些物件则在程式中以gtk_widget_set_name()注册过了. 这允许您指定各别物件的属性, 而不是设定全部同一类的. 我要求您要做好文件, 这样使用者可以自行修改.

当"parent"用来当成一个属性时, 该物件会继承其父所有财产.

当您定义一个形态时, 可以指定以前已经定义过的形态给新的.

style "main_button" = "button"
{
font = "-adobe-helvetica-medium-r-normal--*-100-*-*-*-*-*-*"
bg[PRELIGHT] = { 0.75, 0, 0 }
}

这个例子用"button"的形态, 产生一个"main_button"形态, 并且只改变font及背景颜色.

当然了并非所有属性都对所有物件生效. 因为该物件不见得拥有该属性.

 

你可能感兴趣的:(Class,Path,工具,button,gtk)