我想更改帮助窗口的大小以适合文本的大小,但不知道如何继续。
这是我的代码:
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();
最佳答案
您需要一些有关文本的布局信息,因为从理论上讲,它可以在非常非常长的一行中呈现。
因此,我的目标是文本的某个目标宽度,而所有比该宽度更宽的文本都将被换行。现在,您需要的是此类文本的高度。
我的建议是您使用QTextDocument
,如上所述设置宽度,插入所有文本并使用QTextDocument::size
获取大小。这样,您就可以获得测量值,并可以根据这些测量值调整窗口大小(当然,添加边距、填充等)。
关于c++ - 更改帮助窗口的大小以适合文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36308553/