LINUX.ORG.RU

Как правильно задать моноширинный шрифт в QTextEdit?

 ,


0

1

Есть окошко с виджетом QTextEdit, в него нужно поместить кусок предварительно отформатированного plain-text-а. По дефолту шрифт там оказывается не моноширинным, в результате форматирование съезжает

Пока сделал так:

    fmt = textedit->currentCharFormat();

    fmt.setFontFixedPitch(true);
    fmt.setFontStyleHint(QFont::Monospace);
    fmt.setFontFamily("Liberation Mono");

    textedit->setCurrentCharFormat(fmt);

Так вот, без явного указания FontFamily, только с setFontFixedPitch и setFontStyleHint моноширинный шрифт не включается. Мне как-то пофиг, какой шрифт выберется, главное чтоб был моноширинным. Можно ли как-то это сделать? Или посоветуйте какой-нибудь FontFamily, который с большой вероятностью присутствует во всех юниксах и оффтопике

★★★★★

В linux должен сработать

fmt.setFontFamily("monospace");
- выберет дефолтный моноширинный шрифт. Как сделать это в Windows - не знаю

Kosyak ★★★★
()

Внимательно читаем документацию.

void QTextCharFormat::setFontStyleHint ( QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault )
...
Qt does not support style hints on X11 since this information is not provided by the window system.

QFont::Monospace ? the font matcher prefers fonts that map to the CSS generic font-family 'monospace'.

Теперь, надеюсь, все понятно.

Nightwalker
()
Ответ на: комментарий от anonymous

чем недоволен уважаемый анонимус? :)

Harald ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.