QT开发中文网

if(qApp->mouseButtons() == Qt::RightButton){ QTreeWidget* tree = item->treeWidget(); // 获取当前item所在的QTreeWidget QString strTempFlag = tree->currentItem()->data(0, Qt::UserRole).toString(); //根据信息个数判断是实验样品 qDebug() <<...

在你的代码中,样式设置是通过setStyleSheet()方法来实现的。根据你提供的代码,可以看到你为QMenu和其子项设置了不同状态下的样式。

然而,对于QMenu中的Action来说,setStyleSheet()方法并不能直接应用于它们。要为QMenu中的Action设置样式,你需要使用QSS(Qt Style Sheets)语法,并将样式应用于Action所在的QMenu上。

以下是一个示例代码,展示如何使用QSS为QMenu中的Action设置样式:

// 创建QMenu
QMenu* menu = new QMenu(tree);

// 设置默认样式
QString defaultStyle = "color: #2C2C2C;"; // 默认字体颜色

// 设置鼠标滑过时的样式
QString hoverStyle = "color: #4780FF;";
QString hoverSelector = "QMenu::item:hover { " + hoverStyle + " }";

// 设置鼠标点击时的样式
QString pressedStyle = "color: #FFFFFF; background-color: #3F7AFF;";
QString pressedSelector = "QMenu::item:selected { " + pressedStyle + " }";

// 应用样式到QMenu
menu->setStyleSheet(defaultStyle + hoverSelector + pressedSelector);

// 创建并添加Action到菜单中
menu->addAction("添加样品", this, &CProjectList::slotAddItemInTreeSample);

请确保在创建并显示菜单之前应用这些样式,并且遵循正确的选择器语法。

如果仍然无法生效,请检查是否有其他地方的样式设置覆盖了这些样式。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=9979

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?