如题,我想在程序中模拟点击第一个节点的第一个子节点,如何实现
首先找到你要点击节点的item
。比如下面是获得第一个节点的第一个子节点
auto item = treeWidget->invisibleRootItem()->child(0)->child(0);
然后获取那个节点的Bounding Box
auto rect = treeWidget->visualItemRect(item);
然后构建鼠标点击事件(即MouseButtonPress和MouseButtonRelease),发送给treeWidget
auto pos = rect.center();
QMouseEvent event1(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
QCoreApplication::sendEvent(treeWidget, &event1);
QMouseEvent event2(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
QCoreApplication::sendEvent(treeWidget, &event2);