【发布时间】:2017-05-03 15:01:03
【问题描述】:
我正在尝试使用 C/GTK3/Cairo 实现以下功能:
-左键单击 GtkDrawingArea 小部件并打印坐标 Xo 和 Yo。
-在按住左键的同时,移动鼠标并绘制一条连接 (Xo,Yo) 到当前鼠标位置的线。
-松开鼠标左键并 printf("something")
我该怎么做?任何人都知道一个很好的教程来展示如何处理鼠标 clicl-move 事件?
到目前为止,我发现的最好的是这个 zetcode lines (它显示了如何处理鼠标单击事件,但不显示按钮按下/移动/按钮向上和 this ,它解释了如何在何时更改鼠标光标将鼠标悬停在小部件上。
谢谢
【问题讨论】:
-
通过第一个链接,您应该能够实现您的步骤 1 和 3。如果这还不够,请提供 MCVE 来说明您的问题。
-
对于第 2 步,您需要保存按下按钮的位置,然后处理
"motion-notify-event"以进行鼠标的任何移动。
标签: c mouseevent gtk3 cairo