Таблицы стилей наследуются только дочерними элементами виджета, к которому они применяются.
Если добавить меню к другому, оно не станет дочерним для него, и это потому, что одно и то же меню может использоваться в нескольких ситуации (из QMenu.addMenu (QMenu) ):
Это меню не становится владельцем меню.
Решение состоит в том, чтобы установить это Главное меню в качестве родительского для каждого дочернего элемента, к которому вы хотите применить таблицы стилей:
menu = QMenu(self)
menu.setStyleSheet("""
QMenu {border: 1px inset grey; background-color: #fff; color: #000; padding: 0;}
QMenu:selected {background-color: #ddf; color: #000;}
""")
file_menu = QMenu("File", menu)
В качестве альтернативы вы можете сделать то же самое с QMenu.addMenu()
:
file_menu = menu.addMenu("File")
Это не ваш случай, но стоит отметить, что если вы используете это дочернее меню где-то еще, главное меню все равно будет его родительским, и поэтому будет иметь ту же таблицу стилей.