如何更改以前在 textBrowser 中编写的文本的字体大小?

Posted

技术标签:

【中文标题】如何更改以前在 textBrowser 中编写的文本的字体大小?【英文标题】:How do I change the font size of previously written text in a textBrowser? 【发布时间】:2018-02-17 01:40:41 【问题描述】:

在我的程序中,我试图在窗口大小发生变化时自动调整文本大小。我已经使用 resizeEvent 来执行此操作,并且它正在识别窗口何时调整大小。但是,每当我尝试使用 setFontPointSize 更改字体大小时,它都不起作用。我可以让它工作的唯一方法是使用 setText 并使用 html 来更改字体大小,但是,这是不可取的,因为我无法访问 HTML 中的小部件大小和变量。

【问题讨论】:

【参考方案1】:

当您使用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);
    
;

完整的例子可以在下面的link找到

【讨论】:

正是我想要的。非常感谢。夏天做Qt,完全忘记语法了。 @AbhiGarg 如果我的回答对您有帮助,请不要忘记将其标记为正确。如果您不知道如何操作,请查看tour 我将其标记为正确。你能告诉我之后取消选择的功能吗?

以上是关于如何更改以前在 textBrowser 中编写的文本的字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改可调整大小的文本区域的光标?

在 access 2013 报告中更改文本的问题

如何在 IE 中禁用的文本区域上启用滚动条

如何php网页中显示PDF或者word格式?不要单独跳出一个框来!就是在固定的文本域里面显示出来

如何使用 MySQL 在 PHP 中创建不断更新的文本区域?

根据javascript中的文本行数更改textarea的高度[重复]