我很困惑为什么Q纯文本编辑添加到窗口小部件时不会垂直调整大小QForm布局。在下面的代码中,文本字段可以正确地水平缩放,但不会垂直缩放。
任何人都可以解释这种行为并提供解决方案吗?我已经尝试了所有我知道的技巧,但没有成功。
from PyQt4 import QtGui
class Diag(QtGui.QDialog):
def __init__(self, parent, *args, **kwargs):
QtGui.QDialog.__init__(self, parent)
layout = QtGui.QFormLayout(self)
widg = QtGui.QPlainTextEdit(self)
layout.addRow('Entry', widg)
if __name__ == '__main__': #pragma: no cover
app = QtGui.QApplication([])
window = Diag(None)
window.show()
app.exec_()
Here is an example of the QPlainTextEdit widget not resizing vertically:
这是在 Windows 7 上使用 PyQt 4.5.2 和 Python 32 位 2.6。
Thanks.
看来,默认情况下,QFormLayout
只会根据其字段调整其高度sizeHint
.
要更改此行为,请调整垂直拉伸 https://doc.qt.io/qt-4.8/qsizepolicy.html#setVerticalStretch作为适当的:
policy = widg.sizePolicy()
policy.setVerticalStretch(1)
widg.setSizePolicy(policy)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)