QTextEdit编辑器中更大的CSS字体大小

3 投票
1 回答
1227 浏览
提问于 2025-04-17 06:00

我们正在制作一个基于 QTextEdit 的编辑器。 在这个编辑器里,我们使用 QtGui.QComboBox 来选择字体大小。 我们使用的CSS字体大小有:small(小)、normal(正常)、large(大)、x-large(超大)和 xx-large(特超大)。 最大的字体大小大约是24磅。 有没有办法把它改成48磅呢? (同时还要能用 Ctrl 加鼠标滚轮来缩放。)

1 个回答

3

CSS中的字体大小属性可以设置为绝对大小(用点或像素表示),也可以设置为相对大小(比如“小”、“中”、“大”、“超大”或“特超大”)。

这些相对大小是根据文档的字体大小来计算的,也就是说,是根据在body标签上设置的字体大小来决定的。如果文档的字体大小没有明确设置,它会从控件的默认字体(如果有的话)或应用程序的默认字体中继承。

比如,如果文档的字体设置为10pt:

font = QFont(self.widget.font())
font.setPointSize(10)
widget.setFont(font)

那么相对字体的计算方式如下:

  • small: 0.8 * 10 = 8pt
  • medium: 1.0 * 10 = 10pt
  • large: 1.2 * 10 = 12pt
  • x-large: 1.5 * 10 = 15pt
  • xx-large: 2.0 * 10 = 20pt

这意味着,要让xx-large变成48pt,唯一的方法就是把文档的字体大小设置为24pt(虽然这样做没什么实际意义,但就是这样)。

需要注意的是,缩放是通过改变文档的字体大小来实现的。所以,如果在一段文本上设置了绝对字体大小,就会阻止它被缩放。

撰写回答