1

我想用gtk3在框架上显示水平和垂直标尺。

这是我的框架:在此处输入图像描述

我想像这样在框架上显示标尺:

在此处输入图像描述

但是GtkRuler已从 GTK 3 中删除,因为它没有维护且过于专业!!

这是我的 GTK3/c cpde:

   /* The horizontal ruler goes on top. As the mouse moves across the
    * drawing area, a motion_notify_event is passed to the
    * appropriate event handler for the ruler. */
   hrule = gtk_hruler_new ();
   gtk_ruler_set_metric (GTK_RULER (hrule), GTK_PIXELS);
   gtk_ruler_set_range (GTK_RULER (hrule), 7, 13, 0, 20);
   g_signal_connect_swapped (area, "motion_notify_event",
                      G_CALLBACK (EVENT_METHOD (hrule,        motion_notify_event)),
                      hrule);
   gtk_table_attach (GTK_TABLE (table), hrule, 1, 2, 0, 1,
              GTK_EXPAND|GTK_SHRINK|GTK_FILL, GTK_FILL, 0, 0);

   /* The vertical ruler goes on the left. As the mouse moves across
    * the drawing area, a motion_notify_event is passed to the
    * appropriate event handler for the ruler. */
   vrule = gtk_vruler_new ();
   gtk_ruler_set_metric (GTK_RULER (vrule), GTK_PIXELS);
   gtk_ruler_set_range (GTK_RULER (vrule), 0, YSIZE, 10, YSIZE );
   g_signal_connect_swapped (area, "motion_notify_event",
                      G_CALLBACK (EVENT_METHOD (vrule, motion_notify_event)),
                      vrule);
   gtk_table_attach (GTK_TABLE (table), vrule, 0, 1, 1, 2,
              GTK_FILL, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0);

您对如何解决此任务有什么建议?或者我可以在互联网上的哪些资源上找到帮助?

4

1 回答 1

0

如果您的代码具有兼容的许可证,您只需将 GTK 2 中的 GtkRuler 复制到您的代码中,进行必要的更改以使其与 GTK 3 一起使用。

于 2016-10-26T06:05:53.900 回答