在 QT 中为图像标签创建鼠标事件

Posted

技术标签:

【中文标题】在 QT 中为图像标签创建鼠标事件【英文标题】:Creating Mouse Event for image labels in QT 【发布时间】:2011-04-12 01:00:42 【问题描述】:

我正在使用 QT 开发一个应用程序。我有一个主窗口,上面有一个图像标签。我将图像加载到这个图像标签,现在我想在它上面画图。所以,我的问题是——我如何只为这个图像标签创建鼠标事件,而不必派生另一类 QLabel 并将其对象实例化到我的主窗口。

我的项目明天到期,这是我唯一要做的事情。非常感谢您的帮助。

此致,Aayush Shrestha。

【问题讨论】:

你的意思是响应鼠标事件吗?我很明白创建鼠标事件的含义。 【参考方案1】:

如果您不想创建继承自 QLabel 的类来获取鼠标事件,则需要使用 installEventFilter 函数,并使用您的某个类的 eventFilter 事件。

【讨论】:

感谢您的建议....但是当我使用 installEventFilter 时,标签中的图像不可见...您知道如何解决此问题吗?这将是真正的帮助.. 谢谢! 也许你正在捕捉一个像paintEvent或showEvent这样的事件并且没有将它释放到小部件。所以 Widget 不要重绘自己。

以上是关于在 QT 中为图像标签创建鼠标事件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt 层次结构的根小部件中获取鼠标按下事件

获取 Qt 小部件以更新使用 Qt Designer 制作的 Qt 表单中的鼠标事件

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

qt鼠标悬停在按钮变大

Qt 的鼠标事件

关于QT重载鼠标事件的一些问题