【问题标题】:QListView clicked mouse buttonQListView 单击鼠标按钮
【发布时间】:2009-02-27 10:47:59
【问题描述】:

我需要知道发出 QListView::clicked 信号时单击的鼠标按钮是什么。

我怎么知道按钮。

【问题讨论】:

    标签: qt4 qlistview


    【解决方案1】:

    尝试实现一个新的类继承形式QListView并重新实现:

    void QAbstractItemView::mousePressEvent ( QMouseEvent * event )  [virtual protected].
    

    我希望它有用。 萨鲁2

    【讨论】:

    • 我已经完成了,但是在处理完新创建的信号后,鼠标右键也会发送到 QDockWidget。
    【解决方案2】:

    如果您对子类化不感兴趣,您还可以创建一个事件过滤器类并将该过滤器安装到您要侦听的对象(在本例中为QListView)。

    更多信息请查看QObject::installEventFilter()。

    【讨论】:

      【解决方案3】:

      Salu2 是正确的,如果您只是在上下文菜单之后(右键单击),您可以重新实现 QWidget::contextMenuEvent

      【讨论】:

        【解决方案4】:

        QApplication::mousebuttons() 怎么样?这就是文档建议的查找按钮的方法。

        【讨论】:

        • 如何使用QApplication::mousebuttons()?我也有同样的问题。我尝试使用此功能,但是,它没有正确返回 Qt::RightButton 或 Qt::LeftButton ><.>
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-12
        • 2010-12-16
        • 2012-08-01
        • 1970-01-01
        • 2019-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多