【发布时间】:2016-01-09 09:40:31
【问题描述】:
我的 QML 文件中有一个 TableView,通过向它提供模型加载了几个项目。我可以通过箭头键(向上、向下)在项目之间导航,但我不知道如何通过代码在项目之间导航。
这是我尝试发送事件的方式,但似乎我将我的事件发送到了错误的组件:
QQuickItem* focusedItem = qobject_cast<QQuickItem*>(QGuiApplication::focusObject());
QKeyEvent *event1 = new QKeyEvent(QEvent::KeyPress,Qt::Key_Up,Qt::NoModifier);
QKeyEvent *event2 = new QKeyEvent(QEvent::KeyRelease,Qt::Key_Up,Qt::NoModifier);
QCoreApplication::postEvent (focusedItem, event1);
QCoreApplication::postEvent (focusedItem, event2);
焦点项目似乎是一个focusScope,它的父项是一个空QObject!我已经对此进行了测试:
qDebug () << "ITEM =>" << focusedItem;
qDebug () << "PARENT=>" << focusedItem->parent();
【问题讨论】: