我如何更改文本浏览器中先前编写的文本的字体大小

How do I change the font size of previously written text in a textBrowser?

本文关键字:文本 字体 何更改 浏览器      更新时间:2023-10-16

在我的程序中,我尝试在窗口大小更改时自动调整文本大小。我已经使用了resizeevent来做到这一点,并且它识别何时调整窗口。但是,每当我尝试使用setFontPointSize更改字体大小时,它就不起作用。我可以让它工作的唯一方法是使用setText并使用HTML更改字体大小,但是,这是不可取的,因为我无法访问HTML内部的窗口小部件的大小和变量。

使用setFontPointSize更改字体时,您将为新文本执行此操作,如果您希望它适用于所有文本,则必须选择它,只需更改字体大小:

class TextBrowser: public QTextBrowser{
protected:
    void resizeEvent(QResizeEvent *event){
        QTextBrowser::resizeEvent(event);
        //some criteria to obtain the new font size
        qreal size = 0.1*event->size().width();
        QTextCursor cursor = textCursor();
        selectAll();
        setFontPointSize(size);
        setTextCursor(cursor);
    }
};

可以在以下链接中找到一个完整的示例