2

我正在使用 Qt6 创建一个跨平台的 GUI 应用程序。我正在设计器模式下使用自动生成的 QMenuBar 对象。我想将 QMenuBar 项目(文件、编辑、帮助..)更改为粗体和红色。

我在 MainWindow 对象的 StyleSheet 编辑器中使用以下代码:

QMenuBar::item:selected {

    font:bold;
    color:red;

}

该代码可以很好地更改文本的颜色,但它没有按照我的意愿将字体设置为“粗体”。此外,尝试更改字体大小也不起作用。

我错过了什么?

先感谢您!!

4

1 回答 1

0

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;}");
于 2021-09-30T16:17:59.607 回答