【发布时间】:2018-10-03 10:00:31
【问题描述】:
我正在尝试为 GTK 菜单项分配加速键:
group = gtk_accel_group_new();
item = gtk_image_menu_item_new_from_stock(GTK_STOCK_UNDO, group);
gtk_widget_add_accelerator(item, "activate", group, GDK_Z, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
但是当我编译时出现以下错误:
./src/main.c:171:55: error: ‘GDK_Z’ undeclared (first use in this function)
gtk_widget_add_accelerator(item, "activate", group, GDK_Z, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
^
这是pkg-config --cflags gtk+-2.0的输出:
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
如何使GDK_Z 标识符可用于我的程序?
【问题讨论】:
-
您是否正确安装了 GTK+ (
libgtk2.0-dev) 的开发包? -
嗯。有趣的想法。我尝试了
sudo apt-get remove libgtk2.0-dev --purge,然后重新安装了sudo apt-get install libgtk2.0-dev。同样的问题.. -
我不确定我是否知道我要说什么,但如果你这样做
guint key = GDK_z;或guint key = GDK_Z;然后 =>>gtk_widget_add_accelerator(item, "activate", group, key, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);会起作用吗? -
我发现的唯一与此相关的东西,Is This。
-
谢谢!
#include <gdk/gdkkeysyms.h>是。如果您将其添加为答案,我会认为它是正确的。