擅长:python、mysql、java
<p>这是有效的,但只在Gnome 2下的Linux上测试。它只在水平方向上调整大小,除非“显示详细信息”文本处于启用状态,在这种情况下,它会在两个方向上调整大小。“show details”(显示详细信息)按钮仍将其重置为初始大小,这可能是一个功能,也可能是一个错误,具体取决于您的pov:</p>
<pre><code>bool MyMessageBox::event(QEvent* e)
{
bool result = QMessageBox::event(e);
// force resizing back on, QMessageBox keeps turning it off:
if (maximumWidth() != QWIDGETSIZE_MAX) {
QTextEdit *textEdit = findChild<QTextEdit*>();
if (textEdit && textEdit->isVisible()) {
textEdit->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
textEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
} else {
setMaximumWidth(QWIDGETSIZE_MAX);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
}
}
return result;
}
</code></pre>