我想将一个事件转移给一个小部件的孩子。我当前的实现是(_table
的QTableWidget*
数据成员在哪里MyWidget
)
void MyWidget::mousePressEvent(QMouseEvent *event)
{
QHeaderView *headerview = _table->horizontalHeader();
QPoint headerpoint = headerview->mapFromGlobal(event->globalPos());
const int index = headerview->logicalIndexAt(headerpoint);
if ((index >= 0) && (index < headerview->count())) {
QApplication::postEvent(headerview, new QMouseEvent(QEvent::MouseButtonPress, headerpoint, event->button(), event->buttons(), Qt::NoModifier));
}
QWidget::mousePressEvent(event);
}
问题是这个实现似乎产生了一个无限循环或递归。
什么是正确的实现?
非常感谢。