Gtk::Widget on_enter_notify当鼠标关闭时
Gtk::Widget on_enter_notify when mouse is down?
我试图有一个Gtk::Widgets的列表,当点击我需要突出显示的小部件,但当用户按住按钮,并拖到另一个小部件,第一个将'取消突出显示',新的一个将突出显示在enter_notify。
我已经尝试使用on_enter_notify_event,和on_button_press_event在多个组合(是的,我添加的事件),但每次我'按'小部件,它开始拖动事件,enter_notify和leave_notify不会触发。
是否有一种方法可以忽略拖动事件?我试过结束它,当它开始,但我认为问题是on_notify不会触发鼠标下来。还有别的方法吗?
好的,显然当一个小部件被激活或点击时,GdkDevice 'grab()是小部件,只向该小部件发送事件。我从事件中取出设备,并在它上调用'ungrab()'所以它允许其他单元格接收事件。然后在其他单元格上,我检查on_enter_notify_event中的event->状态,看看鼠标是否已按下,瞧!单元格被高亮显示。
bool cell::on_button_press_event(GdkEventButton* event) {
highlight_cell();
gdk_device_ungrab(event->device, event->time);
return true;
}
相关文章:
- WinAPI挂钩鼠标
- 将鼠标悬停在问题上时与预期">"相关的代码错误
- 跟踪滚动条上的鼠标事件
- SendInput()鼠标移动计算
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 如何在鼠标挂钩过程中检测拖动
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- Win32 发送输入鼠标移动滞后并冻结
- 将鼠标和键盘输入发送到 unity3d 游戏 (Rust)
- 有没有办法区分Qt小部件是通过鼠标单击还是通过按表键获得焦点?
- 在 macOS 中使用 C/C++ 设置鼠标光标图像
- 如何通过拖动鼠标QT检查按钮?鼠标移动事件
- 修复完成输入后重复"enter names of teacher"?
- SDL2 调整窗口大小后如何缩放鼠标坐标?
- 如何在QSplashScreen中禁用鼠标单击
- 在 wxWidgets 中的 wxTextCtrl 上手动触发 ENTER 键按下事件C++?
- C++鼠标单击时的屏幕截图不起作用
- 我如何使它,无论用户用空白字符串按 Enter 多少次,它总是打印"开始"字符串?
- 当我按Enter或在其区域外单击鼠标时,如何从可编辑的Qcombobox中删除光标