【发布时间】:2020-12-19 11:54:02
【问题描述】:
我有一个 QTextEdit,我初始化如下:
QTextEdit* textEdit = new QTextEdit();
textEdit->setReadOnly(true);
textEdit->setHtml("<p style=\"color:red; font-family:'Courier New';\">Raw Header</p>");
textEdit->setAlignment(Qt::AlignCenter);
textEdit->append("<p style=\"font-family:'Courier New'\">00000000<br />00000000<br />00000000<br />00000000</p>");
textEdit->setAlignment(Qt::AlignCenter);
这个 textEdit 后来被添加到 QGridLayout 中,在那个布局上它看起来像这样:
我想在没有滚动条的情况下文本仍然可见时将其调整为最小尺寸。
我能找到的每个建议的解决方案都假设 QTextEdit 已经可见,但这里不是这种情况。
我想在该对象的布局调用 show() 之前预先确定宽度/高度。
我尝试过的其他一些事情:QTextDocument::size()QTextDocument::idealWidth()QTextDocument::pageSize()QTextBlockFormat::lineHeight()(通过迭代 QTextDocument 中的所有 QTextBlock)
全部返回零,因为 QTextEdit 和里面的文本还没有渲染。
能做到吗?
【问题讨论】: