我正在对现有主题进行一些细微的修改,并且我希望滑块在活动窗口和非活动窗口中具有不同的颜色。这是 gtkrc 文件中滑块代码的示例
image {
function = SLIDER
recolorable = TRUE
state = NORMAL
file = "slider.png"
border = { 2, 2, 2, 2 }
stretch = TRUE
orientation = VERTICAL
}
选项“state”似乎只有3个选择:NORMAL、PRELIGHT和INSENSITIVE 似乎没有我需要的“INACTIVE”。我想将非活动窗口上滑块的图像文件设置为不同的内容。
答案1
非活动状态是正常状态。来自PythonGTK 文档
A
gtk.Style
保存五种可能的小部件状态的信息,但并非每个小部件都支持所有五种状态:
gtk.STATE_NORMAL
不活动且没有焦点的敏感小部件的状态
gtk.STATE_ACTIVE
敏感小部件处于活动状态时的状态,例如按下但尚未释放的按钮
gtk.STATE_PRELIGHT
具有焦点的敏感小部件的状态,例如鼠标指针悬停在其上的按钮。
gtk.STATE_SELECTED
所选小部件的状态,例如 gtk.Entry 小部件中选定的文本
gtk.STATE_INSENSITIVE
小部件的状态不敏感,不会响应任何事件,例如无法激活、选择或预点亮。
在过去的几年里,我用 Python 完成了一些 GTK2 编程,但我肯定不是其所有复杂问题的专家。而且我还没有玩过太多主题。我不确定你是否想做什么能已完成,但希望具有更多专业知识的人能够在这方面做出明确的声明。
FWIW,我做知道如何使 GTK 应用程序中的滑块根据主窗口当前是否具有焦点来改变颜色,但我想这对您来说没有多大用处。但如果你想尝试一下,请告诉我,我会将我的 Python 代码粘贴到这个答案中。