Шрифты Qt имеют разные размеры в разных системах

При использовании Qt Designer для создания ui-файлов возникла следующая проблема:

Открытие одного и того же пользовательского файла в другой системе Linux приводит к разному отображению размеров шрифта. Таким образом, пользовательские файлы, созданные в одной системе, могут иметь слишком большие шрифты при открытии их с помощью Qt Designer в другой системе. Это делает текст нечитаемым во многих случаях. "Размер точек" виджетов одинаков в обеих системах, но для того, чтобы сделать их читаемыми на обеих системах, мне нужно вручную уменьшить размер точек в Qt Designer на одной системе в настоящее время.Что я могу сделать, чтобы обеспечить читаемость шрифтов во всех системах?

Используемые системы: SLES 10, SLES11, Debian.

3 ответа

Я столкнулся с подобной проблемой. В нашем случае это было связано с локальными настройками шрифтов Linux. И поскольку мы не могли заставить все компьютеры в мире использовать один и тот же шрифт, мы переопределяем шрифт в нашем приложении.

QFont _Font("Tahoma", 8);
QApplication::setFont(_Font);

Вы должны сделать это до того, как ваше главное окно будет создано.

Единственный риск, о котором я знаю, это то, что если по какой-то причине выбранный вами шрифт не будет установлен на компьютере, я верю, что он вернется к значению по умолчанию.

Надеюсь, это поможет.

Используйте void QFont::setPixelSize(int pixelSize) вместо::setPointSize.

Использование этой функции делает устройство шрифта зависимым. Используйте setPointSize() или setPointSizeF(), чтобы установить размер шрифта независимо от устройства.

Я перешел с Windows8 на Windows8, и размер шрифта не совпадает. Я пытался заставить его через main.cpp, используя

QFont _Font("Tahoma", 8);
_Font.setPixelSize(8);
QApplication::setFont(_Font);

Это изменило некоторые пункты, но некоторые не изменили. Я пытался проверить конфигурацию класса, но не нашел мысли, которая поможет.

Другие вопросы по тегам