5

我有一个QTextEdit小部件,其内容是使用编程方式填充的QTextEdit.textCursor.

我的计划是让用户查看 中填充的信息,QTextEdit必要时编辑文本,然后使用QPrinter.

但是,我想QTextEdit在允许用户编辑文本之前更改整个内容的字体大小。我只需要将内容设置为单一字体大小;无需适应多种字体大小。

QTextEdit.setFontSize(16)在手术前后都试过了,textCursor但似乎没有任何效果。

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

4

2 回答 2

16

QTextEdit.setFontPointSize像在当前格式上工作的函数。如果要一次更改所有字体大小,则需要设置基本字体的大小,如下所示:

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

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

于 2014-10-28T17:52:09.387 回答
8

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

  • 记住当前textCursor
  • 称呼selectAll
  • 称呼setFontPointSize
  • 调用setTextCursor以清除选择

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

QTextCursor cursor = ui->textEdit->textCursor();
ui->textEdit->selectAll();
ui->textEdit->setFontPointSize(32);
ui->textEdit->setTextCursor( cursor );
于 2014-10-28T14:14:15.327 回答