このようにリストビューでを上書きしcontentsMousePressEvent
ました。
void AppListView::contentsMousePressEvent(QMouseEvent *e)
{
AppGenericListView::contentsMousePressEvent(e);
if (e->button() == Qt::RightButton)
emit rightClicked();
emit multiSelection();
}
これが私のkeyPressEvent
です。
void AppListView::keyPressEvent(QKeyEvent * e)
{
AppGenericListView::keyPressEvent(e);
if ((e->key() == Qt::Key_Up) || (e->key() == Qt::Key_Down))
{
QListViewItem * item = currentItem();
if (item)
{
const QRect rect = itemRect(item);
QMouseEvent mEvt(QEvent::MouseButtonPress, rect.center(), Qt::LeftButton, Qt::LeftButton);
contentsMousePressEvent(&mEvt);
}
}
}
今のところ、このコードは正常に機能しています。QMouseEvent
動的オブジェクトを作成していないことに注意してください。私が知りたいのは、これは将来クラッシュを引き起こすのでしょうか?contentMousePressEvent
動的オブジェクトが必要ですか?Qtdocはそれについて多くを語っていません。何か案は ....