gtkrc 变量覆盖问题

开发基于GTK+或QT的应用程序
回复
头像
自由建客
论坛版主
帖子: 13441
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64
来自: freebuilder@yeah.net
送出感谢: 12 次
接收感谢: 112 次
联系:

gtkrc 变量覆盖问题

#1

帖子 自由建客 » 2015-08-27 20:46

我只是改了改颜色而已,就那么一行内容。下按下面写法。

代码: 全选

include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
gtk-color-scheme = "base_color:#FFFFFF\nfg_color:#000000\ntooltip_fg_color:#000000\nselected_bg_color:#9C8877\nselected_fg_color:#FFFFFF\ntext_color:#000000\nbg_color:#E6DDD5\ntooltip_bg_color:#F5F5B5"
结果竟然是 Clearlooks/gtk-2.0/gtkrc 定义的蓝色,而不是我定义的咖啡色。
於是我想,难倒后面定义的并不能覆盖前面所定义的,便调换上下行顺序,结果依然不行。
求指导!
头像
astolia
论坛版主
帖子: 3289
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 551 次

Re: gtkrc 变量覆盖问题

#2

帖子 astolia » 2015-08-27 22:52

是后面的定义覆盖前面的没错。但rc文件的解析方式和你想象的不一样。
gtk-color-scheme里定义的selected_bg_color之类的不过是种环境变量,只有对具体的样式进行设置时用到才会去看其当前的值

类似于下面的shell脚本一样

代码: 全选

color="#000000"
menu_color=$color
color="#ffffff"
不管你把color="#ffffff"放在最前还是最后menu_color的值只会是"#000000"

可以自己去include的文件中看看哪里引用了@selected_bg_color,其上面哪里定义了selected_bg_color
头像
自由建客
论坛版主
帖子: 13441
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64
来自: freebuilder@yeah.net
送出感谢: 12 次
接收感谢: 112 次
联系:

Re: gtkrc 变量覆盖问题

#3

帖子 自由建客 » 2015-08-27 23:00

astolia 写了:是后面的定义覆盖前面的没错。但rc文件的解析方式和你想象的不一样。
gtk-color-scheme里定义的selected_bg_color之类的不过是种环境变量,只有对具体的样式进行设置时用到才会去看其当前的值

类似于下面的shell脚本一样

代码: 全选

color="#000000"
menu_color=$color
color="#ffffff"
不管你把color="#ffffff"放在最前还是最后menu_color的值只会是"#000000"

可以自己去include的文件中看看哪里引用了@selected_bg_color,其上面哪里定义了selected_bg_color
原来如此,只有复制文件改了,不能 include。
回复

回到 “GTK+和QT”