根据您提供的代码和样式表,似乎有一些混淆。首先,请确保在正确的上下文中设置样式表,并确保正确引用了QAction的对象名称。以下是可能的解决方案:
- 将自定义样式表应用于整个项目或特定的部件:
// 在构造函数或初始化方法中设置样式表
this->setStyleSheet(
"QAction#customAction {"
" color: #2C2C2C; /* 默认字体颜色 */"
"}\n"
"QAction#customAction:hover {"
" color: #4E84FF; /* 鼠标悬停时的字体颜色 */"
"}\n"
"QAction#customAction:pressed {"
" color: #FFFFFF; /* 鼠标点击时的字体颜色 */"
" background-color: #3F7AFF; /* 鼠标点击时的背景色 */"
"}"
);
注意:如果只想将样式应用于特定部件(如QMenu),则将上述代码放置在相应部件所属类(例如CProjectList)中。
- 如果仍然无法正常工作,可以尝试为自定义操作设置样式表之前创建它们:
QMenu* menu = new QMenu(tree);
// 创建自定义操作并添加到菜单
QAction *customAction = new QAction("添加样品", this);
customAction->setObjectName("customAction");
menu->addAction(customAction);
// 应用样式表
menu->setStyleSheet(
"QAction#customAction {"
" color: #2C2C2C; /* 默认字体颜色 */"
"}\n"
"QAction#customAction:hover {"
" color: #4E84FF; /* 鼠标悬停时的字体颜色 */"
"}\n"
"QAction#customAction:pressed {"
" color: #FFFFFF; /* 鼠标点击时的字体颜色 */"
" background-color: #3F7AFF; /* 鼠标点击时的背景色 */"
"}"
);
// 显示菜单
menu->exec(QCursor::pos());
请确保将上述代码放置在适当的位置,以便正确创建和显示自定义操作和菜单。
内容由零声教学AI助手提供,问题来源于学员提问