有没有办法将QMessageBox文本中的换行符限制为<br>
出现的位置?即其他地方没有自动换行?像msgBox.setAutoLinebreaks(False)
这样的东西会很好......
答案 0 :(得分:1)
如果你真的想要,你可以使用这个肮脏的黑客来做到这一点:
QMessageBox msgBox;
QString loremIpsum = "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.";
loremIpsum.replace(" ", " ");
msgBox.setText(loremIpsum);
msgBox.setTextFormat(Qt::RichText);
msgBox.exec();
但是消息框的大小仍然受到某些内部逻辑的限制,因此如果它不适合,它就不会显示该行的其余部分。在我的系统上,这被截断为“ab ill”。请注意,自动中断算法可能不仅会破坏空格(不确定),因此您可能必须使用非断开连字符或更多内容。我不敢将其用作通用解决方案,但它可以用于特定情况。