qt中mpv的鼠标点击

Posted

技术标签:

【中文标题】qt中mpv的鼠标点击【英文标题】:mouse click from mpv in qt 【发布时间】:2016-02-25 12:24:08 【问题描述】:

我正在编写一个使用 mpv 播放不同视频的 Qt 应用程序。 QWidget 用于显示视频内容。我也有自定义底座,带有用于切换视频频道、改变位置等的控件。 我希望在单击屏幕后出现停靠并在计时器事件中消失。一切都很好,除了用于 mpv 的 QWidget 没有接收 QMouseEvent。相反,相同的事件在主窗口中效果很好。基本上,仅当您单击主窗口的可见部分而不是 mpv Qwidget 时才会出现停靠。 我认为这是因为 mpv 具有对键绑定的内部支持。我试图通过将“input-default-bindings”设置为“no”来禁用它们,但它没有帮助。

mpv_set_option_string(mpv, "input-default-bindings", "no");

有人可以帮忙吗? 有谁知道如何为 mpv 配置键绑定(我在文档中找不到任何示例)? 也许有解决方法?

非常感谢。

【问题讨论】:

【参考方案1】:

您可以在视频区域前面使用透明小部件来接收 QMouseEvent 并将其重定向到您的自定义停靠栏。虽然这不是一个漂亮的解决方案......如何创建这样的小部件描述了here。

【讨论】:

以上是关于qt中mpv的鼠标点击的主要内容,如果未能解决你的问题,请参考以下文章

Qt 如何获取滚动窗体中鼠标点击的坐标

QT如何获取窗口外的鼠标点击事件,或者鼠标坐标

请教QT中的slider控件的鼠标点击事件

Ctrl+鼠标左键点击事件捕获Qt

Qt OpenGL-如何根据鼠标点击获取对象

qt中当鼠标点击子窗口时如何让父窗口响应鼠标点击事件?