По документам по QApplication::setFont()
,
Предупреждение : не используйте эту функцию вместе с таблицами стилей Qt.Шрифт приложения можно настроить с помощью свойства таблицы стилей «font».Чтобы установить жирный шрифт для всех QPushButtons, установите для styleSheet приложения () значение «QPushButton {font: bold}»
Поскольку они явно предупреждают об этом, я ожидаю, что при использовании стиля возникает конфликт наследованиялисты в сочетании со шрифтом по умолчанию на уровне приложения, поэтому строка
QApplication::setFont(font);
и, впоследствии,
auto font = QApplication::font();
может не дать ожидаемого поведения.Их альтернативой является установка уровня приложения styleSheet()
для вашего класса, то есть
setStyleSheet(" MyW { font-family: 'Garamond' }");
Так что, похоже, короткий ответ заключается в том, что они его не поддерживают.
Причина, по которой это имеет значение "между установкой таблицы стилей за два шага, а не за один", не в том, что вы устанавливаете таблицу стилей в два разных шага, а в том, что вы вызываете QApplication::font()
между шагами и как этоявляется неподдерживаемым поведением, оно приводит к неожиданному результату.