相关疑难解决方法(0)

在简单的gtk键按事件示例中,GDK_SHIFT_MASK似乎被忽略

有人可以编译并执行我在下面提供的小样本代码吗?如果shift键修饰符适合您,请告诉我.此示例假设演示gtk中的按键功能.它适用于简单的按键操作,甚至可以使用控制键修改器,但它不适用于Shift键修改器.

/*
 * 
 * compile command:
 * 
 * gcc keypress3.c -o keypress3  `pkg-config --libs --cflags gtk+-2.0`
 * 
 */

#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>

gboolean
on_key_press (GtkWidget *widget, GdkEventKey *event, gpointer user_data);

int main (int argc, char *argv[])
{
  GtkWidget *window;

  gtk_init (&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

  g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
  g_signal_connect (G_OBJECT (window), "key_press_event", G_CALLBACK (on_key_press), NULL);

  gtk_widget_show_all (window);

  gtk_main ();

  return 0;
}

gboolean
on_key_press (GtkWidget *widget, GdkEventKey *event, gpointer user_data)
{
  switch (event->keyval)
  {
    case …
Run Code Online (Sandbox Code Playgroud)

c gtk2

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

gtk2 ×1