更改帮助窗口的大小以适合文本

时间:2016-03-30 12:13:50

标签: c++ qt

我想更改帮助窗口的大小以适合文本的大小,但不知道如何继续。

这是我的代码:

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();

1 个答案:

答案 0 :(得分:2)

您需要一些关于文本的布局信息,因为从理论上讲,它可以在一个非常非常长的行中呈现。

所以,我会瞄准文本的某个目标宽度,而所有文本都比这更宽。现在,您需要的是这种文本的高度。

我的建议是你使用QTextDocument,如上所述设置宽度,插入所有文本并使用QTextDocument::size获取大小。这样,您就可以获得这些措施,并可以将窗口大小调整为那些(当然也可以添加边距,填充等)。