因此,我尝试使用 Qt 将 QMenuBar 中的第四个菜单标题“Test”加粗(见下图)。
QMenuBar* pQMenubar = new QMenuBar();
pQMenubar->addMenu(new QMenu("Fichier")); //Some QMenu, not important
pQMenubar->addMenu(new QMenu("Windows")); //Some QMenu, not important
pQMenubar->addMenu(new QMenu("Tools")); //Some QMenu, not important
QMenu* pQMenuTest = new QMenu("Test"); // The Menu I wanna bold
pQMenubar->addMenu(pQMenuTest);
//There is some action added to each QMenu, but I do not want them bold
为此,我尝试将 StyleSheet 或字体设置为 QMenuBar 或 QMenu("test")
将字体 (setBold(true)) 或 StyleSheet(font-weighted: bold) 设置为 QMenu 不起作用,它仅将 QMenu 中包含的操作设置为粗体。
但是当我更改 QMenuBar 的 styleSheet 或 Font 时,所有 QMenu 和 QAction 都是粗体,所以我尝试过这种方式。
我试图“过滤”受样式表影响的对象:
//Try 1
pQMenuBar.setStyleSheet(QMenu {font-weight: bold}); //Nothing is bold
//Try 2
pQMenuTest.setObjectName("Test");
pQMenuBar.setStyleSheet(QMenu#Test {font-weight: bold}); //Nothing is bold
//Try 3
pQMenuTest.setObjectName("Test");
pQMenuBar.setStyleSheet(#Test {font-weight: bold}); //Nothing is bold
//Try 4, just to check if it's works
pQMenuTest.setObjectName("Test");
pQMenuBar.setStyleSheet(QWidget {font-weight: bold}); //Evrything is bold
我开始怀疑 QMenuBar.addMenu(QMenu) 并没有真正将 QMenu 用于“显示”,因此按 QMenu 过滤或对象名不起作用。(我尝试使用 QAction 进行过滤,但也没有什么是粗体的)。