如果您想要的是修改QLineEdit宽度并修复它,请使用:
#setFixedWidth(int w)
MyLineEdit.setFixedWidth(120)
Run Code Online (Sandbox Code Playgroud)
查看源代码会QLineEdit.sizeHint()发现行编辑通常足够宽以显示 17 个拉丁“x”字符。我试图在 Python 中复制它并将其更改为显示 4 个字符,但由于 Qt 的 Python 绑定的限制,我未能正确获得行编辑的样式相关边距。
一个简单的:
e = QtGui.QLineEdit()
fm = e.fontMetrics()
m = e.textMargins()
c = e.contentsMargins()
w = 4*fm.width('x')+m.left()+m.right()+c.left()+c.right()
Run Code Online (Sandbox Code Playgroud)
在我的情况下返回 24,但这不足以在 QLineEdit 中显示四个字符,如“abcd”。更好的值大约是 32,您可以设置例如。
e.setMaximumWidth(w+8) # mysterious additional factor required
Run Code Online (Sandbox Code Playgroud)
即使在许多系统上更改了字体,这可能仍然没问题。
| 归档时间: |
|
| 查看次数: |
9023 次 |
| 最近记录: |