在您提供的代码中,ui->treeWidget->childAt(index)
不是正确的方法来获取子项。要获取特定索引位置的子项,您可以使用topLevelItem()
函数。以下是修改后的代码:
void Widget::onMenuItemTriggered(QAction* action)
{
int index = m_menuItems.value(action, -1);
qDebug() << __LINE__ << " index " << index;
if (index != -1) {
QTreeWidgetItem* childItem = ui->treeWidget->topLevelItem(index);
if (childItem) {
childItem->setHidden(!childItem->isHidden());
}
}
}
这样,根据菜单项对应的索引值,可以通过topLevelItem()
函数获取到相应的子项指针,并对其设置可见性(隐藏或显示)。
内容由零声教学AI助手提供,问题来源于学员提问