c++ - QT:如何在 QMenuBar 的项目鼠标悬停时触发“粗体”
问题描述
我正在使用 Qt6 创建一个跨平台的 GUI 应用程序。我正在设计器模式下使用自动生成的 QMenuBar 对象。我想将 QMenuBar 项目(文件、编辑、帮助..)更改为粗体和红色。
我在 MainWindow 对象的 StyleSheet 编辑器中使用以下代码:
QMenuBar::item:selected {
font:bold;
color:red;
}
该代码可以很好地更改文本的颜色,但它没有按照我的意愿将字体设置为“粗体”。此外,尝试更改字体大小也不起作用。
我错过了什么?
先感谢您!!
解决方案
QMenubar
没有font
,需要font
单独给QAction
。我认为这将解决问题
QMenu *fileMenu ;
QAction *newAct = new QAction(tr("&New"), this);
QFont f = newAct->font();
f.setBold(true);
newAct->setFont(f);
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newAct);
但如果你想要一个活跃的QAction
,那么你需要
setStyleSheet("QMenu::item:selected {font: bold;}");
推荐阅读
- reactjs - 将文件发送到服务器 axios
- c - gcc 错误 –Wl,-rpath,./ffmpeg/lib: 没有这样的文件或目录
- c# - 如何模拟 IConfiguration.GetValue
- reporting-services - SSRS 如何限制每页的组行数
- java - 当 rand.nextInt() = 0 时,你能做 if/else 语句吗?
- javascript - 卡在反应弹簧中滑下不起作用
- d3.js - D3 版本 7 创建热图语法
- reactjs - 在 heartbeatInterval 上反应项目 WebsocketServer.js SyntaxError
- angular - 将 tsconfig 选项目标从“es2015”更新为“es2016”后出现警告
- c++ - 这是在 MFC SDI 非文档/视图程序中切换视图的正确方法吗?