【发布时间】:2013-11-21 09:18:30
【问题描述】:
现在我能够检测到何时只单击了一个按钮。但我想检测两者何时被压在一起。目的是从 QTableView 中选择一些项目。我正在尝试以这样一种方式选择它们,即当在一个项目上单击左键而右键已经按下时,该项目将被选中。
下面的代码只显示右键单击的消息,但不显示两个按钮都被单击。我怎样才能检测到它们何时都被点击了?
bool MainWindow::eventFilter(QObject* obj, QEvent *ev)
{
if(obj = ui->listOfImages->viewport())
{
QMouseEvent * mouseEv = static_cast<QMouseEvent*>(ev);
if(mouseEv->buttons() == Qt::RightButton)
{
qDebug()<<"Right Button clicked!";
if(mouseEv->buttons() == Qt::LeftButton)
{
qDebug()<<"Both button clicked!";
return QObject::eventFilter(obj,ev);
}
}
}
return QObject::eventFilter(obj,ev);
}
谢谢。
【问题讨论】:
标签: c++ qt mouseevent