如何更改以前在 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 中编写的文本的字体大小?的主要内容,如果未能解决你的问题,请参考以下文章
在TextBrowser显示中,如何让最新的数据永远出现在第一行或者是在窗口的最后显示信息
如何在从串口python pyqt接收的textbrowser pyqt5上附加串行数据[重复]
在Qt编程在lineEdit中输入完内容后点击pushbutton并在TextBrowser显示lineEdit中的内容