首页 > 解决方案 > 如何在组合框文本中设置滚动

问题描述

当我使用带有很多选项的组合框文本时,我可以看到没有滚动。我可以用鼠标上下移动、移动鼠标​​或使用中央按钮,但快速上下移动的典型滚动小部件不会出现在任何地方。

如何使滚动小部件出现在组合框文本的选项中?

require 'gtk3'

Material2 = Gtk::ComboBoxText.new()
for i in (0..100)
  string = "material " + i.to_s
  Material2.append_text(string)
end
$MenuPrincipal = Gtk::Table.new(60, 60, true)
$MenuPrincipal.attach(Material2, 0, 60, 0, 10, $options, $options, 0, 0)
$window = Gtk::Window.new
$options = Gtk::AttachOptions::EXPAND | Gtk::AttachOptions::SHRINK
$window.add($MenuPrincipal)
$window.show_all
Gtk.main

提前致谢

标签: rubygtkgtk3

解决方案


您需要更改(或添加)css 样式中的行:

* {   
  -GtkComboBox-appears-as-list: 1; 
}

如果您无法控制用户的样式,请参阅我关于从代码中修改标签样式的答案(示例在 python 中)

我还没有找到如何在不修改样式的情况下实现它,但也许 ruby​​ 绑定中有一些隐藏的宝石。


推荐阅读