Как изменить размер шрифта для всего, что находится внутри 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. Реализация этих слотов изменяет размер базового шрифта точно так же, как показано выше.