ruby - 如何在组合框文本中设置滚动
问题描述
当我使用带有很多选项的组合框文本时,我可以看到没有滚动。我可以用鼠标上下移动、移动鼠标或使用中央按钮,但快速上下移动的典型滚动小部件不会出现在任何地方。
如何使滚动小部件出现在组合框文本的选项中?
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
提前致谢
解决方案
您需要更改(或添加)css 样式中的行:
* {
-GtkComboBox-appears-as-list: 1;
}
如果您无法控制用户的样式,请参阅我关于从代码中修改标签样式的答案(示例在 python 中)。
我还没有找到如何在不修改样式的情况下实现它,但也许 ruby 绑定中有一些隐藏的宝石。
推荐阅读
- docker - Setup docker toolbox behind proxy on Windows
- c - Read and write data through USB port
- java - i get this error : Can't convert object of type java String to type com.example
- sql - JSON 对象为 null 但不知何故它的子对象不是?
- django - Django 2.1 如何在迁移中创建用户
- java - 如何从 SnappedPoints 响应中提取 Google Maps RoadsApi 的纬度/经度?
- django - 如何使用使用多个参数的 url-pattern 在 django 中创建唯一的 url?
- mongodb - 如何使用 MongoDB 进行边界框查询?
- azure-ad-b2c - 使用 JWT 令牌作为声明值
- hibernate - 焊接 (CDI) + JPA