如何更改PyQt4中QTextEdit内部所有内容的fontsize?

时间:2014-10-28 02:39:28

标签: python-2.7 pyqt pyqt4 qtextedit qtextcursor

我有一个QTextEdit,使用QTextEdit.textCursor以逗号方式对其内容进行编码。

我的计划是让用户检查TextEdit中填充的信息并根据需要进行编辑,然后使用QPrinter打印成PDF文件。

但是,我想在用户进行编辑之前更改整个内容的字体大小。我不会使用多种字体大小,所以我只需要为内容设置一个字体大小。

我尝试在QTextEdit.setFontSize(16)操作之前和之后使用textCursor,但似乎没有任何效果。

如何更改QTextEdit内的内容字体大小?

2 个答案:

答案 0 :(得分:9)

QTextEdit.setFontPointSize等功能适用于当前格式。如果要一次更改所有字体大小,则需要设置基本字体的大小,如下所示:

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

请注意,您还可以使用zoomInzoomOut广告位更改基本字体的相对大小。这些插槽的实现改变了基本字体大小,其方式与上面所示完全相同。

答案 1 :(得分:7)

我找到了完整的解决方案。你应该:

  • 记住当前textCursor
  • 致电selectAll
  • 致电setFontPointSize
  • 致电setTextCursor以清除选择

在C ++中,可以使用以下代码完成(这只是示例,但它可以解决您的问题):

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