Как изменить размер шрифта для всего, что находится внутри QTextEdit в PyQt4?

У меня есть QTextEdit что его содержимое портируется программно с помощью QTextEdit.textCursor,

Мой план состоит в том, чтобы позволить пользователю проверять заполненную информацию в TextEdit и отредактируйте, если необходимо, а затем распечатайте в файл PDF, используя QPrinter,

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

Я пытался использовать QTextEdit.setFontSize(16) до и после textCursor операция, но это, кажется, не имеет никакого эффекта.

Как изменить размер шрифта содержимого внутри QTextEdit?

2 ответа

Решение

Я нашел полное решение. Вам следует:

  • помните текущий textCursor
  • вызов selectAll
  • вызов setFontPointSize
  • вызов setTextCursor очистить выбор

В C++ это можно сделать с помощью следующего кода (это только пример, но он решает вашу проблему):

QTextCursor cursor = ui->textEdit->textCursor();
ui->textEdit->selectAll();
ui->textEdit->setFontPointSize(32);
ui->textEdit->setTextCursor( cursor );

Функции как QTextEdit.setFontPointSize работать в текущем формате. Если вы хотите изменить все размеры шрифта одновременно, вам нужно установить размер основного шрифта, например так:

    font = QtGui.QFont()
    font.setPointSize(16)
    self.editor.setFont(font)

Обратите внимание, что вы также можете изменить относительный размер основного шрифта, используя слоты zoomIn и zoomOut. Реализация этих слотов изменяет размер базового шрифта точно так же, как показано выше.

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