QTextEdit编辑器中更大的CSS字体大小
我们正在制作一个基于 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 = 8ptmedium
: 1.0 * 10 = 10ptlarge
: 1.2 * 10 = 12ptx-large
: 1.5 * 10 = 15ptxx-large
: 2.0 * 10 = 20pt
这意味着,要让xx-large
变成48pt,唯一的方法就是把文档的字体大小设置为24pt(虽然这样做没什么实际意义,但就是这样)。
需要注意的是,缩放是通过改变文档的字体大小来实现的。所以,如果在一段文本上设置了绝对字体大小,就会阻止它被缩放。