6

我正在尝试通过 css 将键绑定添加到 gtk3 应用程序。这是我到目前为止所拥有的:

// add style provider
GtkCssProvider *css = gtk_css_provider_new();                               
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),         
        GTK_STYLE_PROVIDER(css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);         
gtk_css_provider_load_from_path(css, "bindings.css", NULL);

这是在前一个代码段中加载的“bindings.css”:

@binding-set tree-view-bindings {
    bind "j" { "move-cursor" (display-lines, 1) };
    bind "k" { "move-cursor" (display-lines, -1) };
    bind "slash" { "start-interactive-search" () };
}

GtkTreeView {
    color: #F00;
    gtk-key-bindings: tree-view-bindings;
}

颜色设置有效,因此不能完全破坏。但是没有一个键绑定工作。我错过了什么?

4

2 回答 2

0

如果我错了,请原谅我,但我相信你把分号放在了错误的地方:)

@binding-set tree-view-bindings { bind "j" { "move-cursor" (display-lines, 1); } bind "k" { "move-cursor" (display-lines, -1); } bind "slash" { "start-interactive-search" (); } }

于 2014-10-21T12:05:34.353 回答
0

它对我有用:

treeview { 
  -gtk-key-bindings: tree-view-bindings;
}

所以GtkTreeView成为treeviewgtk-key-bindings成为-gtk-key-bindings

评论:

  • 要使用正确的选择器,您始终可以使用检查器:启动您的应用程序GTK_DEBUG=interactive
于 2020-05-16T20:23:12.223 回答