在我的程序中,我试图在窗口大小发生变化时自动调整文本大小。我已经使用 resizeEvent 来执行此操作,并且它正在识别窗口何时调整大小。但是,每当我尝试使用 setFontPointSize 更改字体大小时,它都不起作用。我可以让它工作的唯一方法是使用 setText 并使用 HTML 来更改字体大小,但是,这是不可取的,因为我无法访问 HTML 中的小部件大小和变量。
问问题
245 次
1 回答
0
当您更改字体时,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);
}
};
一个完整的例子可以在下面的链接中找到
于 2018-02-17T03:21:38.470 回答