要在隐藏子项的同时显示相应的QAction图标,您可以使用setIcon()
函数来设置QAction的图标。以下是修改后的代码:
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) {
bool isHidden = childItem->isHidden();
childItem->setHidden(!isHidden);
QIcon icon;
if (isHidden) {
// 设置对应QAction的显示图标为隐藏状态
icon = QIcon(":/icons/hidden_icon.png");
} else {
// 设置对应QAction的显示图标为显示状态
icon = QIcon(":/icons/visible_icon.png");
}
action->setIcon(icon);
}
}
}
这里假设您有两个图标文件 hidden_icon.png
和 visible_icon.png
,分别代表隐藏和显示状态。根据子项当前是否隐藏,设置相应的QIcon作为QAction的图标。您可以根据实际情况替换文件路径和图标资源名称。
内容由零声教学AI助手提供,问题来源于学员提问