我想更改帮助窗口的大小以适合文本的大小,但不知道如何继续。
这是我的代码:
QTextEdit *help = new QTextEdit(this);
help->setWindowFlags(Qt::Window);
help->setReadOnly(true);
////
QFile file(":/help.txt");
QTextStream stream ( &file );
QString line;
if (!file.open (QIODevice::ReadOnly))
{
//some error report
}
while( !stream.atEnd() ) {
line = stream.readLine();
help->append(line);
}
file.close();
help->show();
答案 0 :(得分:2)
您需要一些关于文本的布局信息,因为从理论上讲,它可以在一个非常非常长的行中呈现。
所以,我会瞄准文本的某个目标宽度,而所有文本都比这更宽。现在,您需要的是这种文本的高度。
我的建议是你使用QTextDocument
,如上所述设置宽度,插入所有文本并使用QTextDocument::size
获取大小。这样,您就可以获得这些措施,并可以将窗口大小调整为那些(当然也可以添加边距,填充等)。