You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Windows下GTK2菜单激活项的文本颜色?

Windows平台下GTK2应用菜单白色文本改可读性颜色的方法

你当前的GTK2应用菜单是白色文本,想要调整为更易读的颜色,可通过修改gtkrc配置文件中的样式规则实现,具体操作如下:

方法1:修改全局默认样式

在现有的style "msw-default"块中,添加文本和背景颜色的配置,覆盖默认的白色文本。修改后的配置示例:

style "msw-default"
{
  GtkWidget::interior-focus = 1
  GtkOptionMenu::indicator-size = { 9, 5 }
  GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
  GtkSpinButton::shadow-type = in

  # 新增菜单文本颜色配置
  fg[NORMAL] = "#000000"  # 正常状态下的文本颜色(黑色,对比浅色背景更可读)
  bg[NORMAL] = "#f5f5f5"  # 菜单背景色(浅灰色)
  fg[SELECTED] = "#ffffff"  # 选中项的文本颜色(白色)
  bg[SELECTED] = "#0078d7"  # 选中项的背景色(Windows默认高亮蓝)
  
  # 原有的其他配置项
  GtkComboBox::appears-as-list = 1
  GtkComboBox::focus-on-click = 0
  
  GOComboBox::add_tearoffs = 0

  GtkTreeView::allow-rules = 0
  GtkTreeView::expander-size = 12

  GtkExpander::expander-size = 12

  GtkScrolledWindow::scrollbar_spacing = 1

  GtkSeparatorMenuItem::horizontal-padding = 2

  engine "wimp" 
  {
  }
}
class "*" style "msw-default"

方法2:单独指定菜单组件样式

如果不想修改全局样式,可单独为菜单相关组件定义样式,避免影响其他控件:

# 新增菜单专属样式
style "msw-menu-style" = "msw-default" {
  fg[NORMAL] = "#000000"
  bg[NORMAL] = "#ffffff"
  fg[ACTIVE] = "#000000"
  bg[ACTIVE] = "#e0e0e0"
  fg[SELECTED] = "#ffffff"
  bg[SELECTED] = "#0078d7"
}

# 把样式应用到所有菜单和菜单项组件
widget_class "*GtkMenu*" style "msw-menu-style"
widget_class "*GtkMenuItem*" style "msw-menu-style"
widget_class "*GtkMenuBar*" style "msw-menu-style"

配置说明

  • *fg[NORMAL]*:控件处于正常状态时的文本颜色
  • *bg[NORMAL]*:控件处于正常状态时的背景颜色
  • *fg[SELECTED]*:控件被选中时的文本颜色
  • *bg[SELECTED]*:控件被选中时的背景颜色
  • 颜色值支持十六进制格式(如#000000表示黑色),也可以使用GTK预设的颜色名称(如black、white)

修改完成后,保存gtkrc文件并重启GTK2应用,即可看到菜单文本颜色的变化。

内容的提问来源于stack exchange,提问作者Gp1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:05:56