Ответ 1
Вы можете восстановить фиксированный шрифт по умолчанию, используя функцию QFontDatabase systemFont (..). Он был введен в Qt 5.2.
Пример:
const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont)
Существует ли независимый от платформы способ указать шрифт с фиксированной шириной для виджета Qt?
Если я установил шрифт в "Monospace" в Designer в Linux, он не будет найден в Windows, и вместо него будет использоваться Arial.
Вы можете восстановить фиксированный шрифт по умолчанию, используя функцию QFontDatabase systemFont (..). Он был введен в Qt 5.2.
Пример:
const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont)
Вы можете использовать свойство style hint свойства QFont:
QFont font("Monospace");
font.setStyleHint(QFont::TypeWriter);
Если шрифт не найден (что происходит с Monospace в Windows), Qt алгоритм сопоставления шрифтов пытается найти шрифт, соответствующий данному стиль подсказки.
Для всех виджетов, которые принимают Rich Text, вы можете просто поместить его в блок pre
, т.е. <pre>This is my Text</pre>
. Затем он будет использовать системный моноширинный шрифт.
Я использую Courier в Qt как для Linux, так и для Windows.
Я новичок, поэтому не могу комментировать, но могу подтвердить, что приведенное выше предложение Courier QtGui.QFont('courier') работает и на MacOS, в то время как другие методы помогли мне на Linux, но не на Mac