用qt做了一软件,不同应用程序切换鼠标点击事件,视频窗口会闪烁一下,求高手指导知道,谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用qt做了一软件,不同应用程序切换鼠标点击事件,视频窗口会闪烁一下,求高手指导知道,谢谢!相关的知识,希望对你有一定的参考价值。

参考技术A 你说的不够详细 不同应用程序切换的时候 界面都会刷新的 这个是正常的 你想要做到什么效果?追问

就比如我在视频窗口上点击一下,然后我点击一下任务栏,这样视频窗口会闪烁一下,有明显的白色影子。

追答

你做的是视频窗口? 点击任务栏是出发了某个事件吧 这样也说不清楚 你最好能截图上来看下

追问

其实就是上面会闪一下,很明显的那一种,我也百思不得其解。鼠标一直在上面点击都不会闪烁,当点击应用程序外的区域就会闪烁一下,然后再点回应用程序又会闪烁一下。

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

【中文标题】Ctrl+鼠标左键点击事件捕获Qt【英文标题】:Ctrl+Left mouse click event capture Qt 【发布时间】:2017-02-15 16:12:20 【问题描述】:

如何在 Qt 小部件中获得 Ctrl+Left mouse click 事件。我可以从QObject::keyPressEvent() 获得关键事件,并从QObject::mousePressEvent() 获得鼠标点击。但我需要在同一个函数中捕获两者。有人可以指出正确的方向。谢谢。

【问题讨论】:

【参考方案1】:

您可以尝试使用附加变量,例如:

private:
    bool ctrlIsPressed = false;

protected:
    void keyPressEvent(QKeyEvent *event) 
     
        if( event->key() == Qt::Key_Control ) 
           ctrlIsPressed = true; 
    
    void keyReleaseEvent(QKeyEvent *event)
     
        if( event->key() == Qt::Key_Control ) 
           ctrlIsPressed = false; 
    

    void mousePressEvent()
    
        if( ctrlIsPressed )
            // ... Your code
    

【讨论】:

其实我想避免这种情况,但可以这样做。谢谢。【参考方案2】:

可以调用QMouseEvent::modifiers()查看是否返回值Qt::ControlModifier。

【讨论】:

【参考方案3】:

查看这个 ***.com 问题。我认为这正是您遇到的问题。

How to detect the modifier key on mouse click in Qt

【讨论】:

以上是关于用qt做了一软件,不同应用程序切换鼠标点击事件,视频窗口会闪烁一下,求高手指导知道,谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

Qt--多页面切换组件

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

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

WPF C# 实现鼠标穿透窗体

QT--控件屏蔽鼠标点击事件

Qt 中英文切换