我们正在制作一个基于QTextEdit
的编辑器。
我们在QtGui.QComboBox
中使用QtGui.QTextEdit
来选择字体大小。
我们使用的CSS尺寸为:small
,normal
,large
,x-large
和xx-large
。
最大的大小约为24点。
有没有办法让它获得48分?
(同时保持使用 Ctrl -Mouse wheel进行缩放的能力。)
答案 0 :(得分:1)
CSS font-size property支持绝对大小(以点或像素指定)或命名相对大小(“小”,“中”,“大”,“x大”或“xx-”大”)。
相对大小是相对于文档字体大小的 - 这意味着在富文本文档的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(这是非常无用的,但确实如此)。
请注意,缩放的工作原理是更改文档字体大小。因此,在文本块上设置绝对字体大小将阻止它被缩放。