QLineEdit 居中
时间: 2024-09-03 21:04:11 浏览: 57
Qt——QLineEdit使用总结 - 去冰三分糖 - 博客园1
QLineEdit是一个Qt中的控件,用于接收用户输入文本。如果你想让QLineEdit在窗口或其他布局中居中显示,可以采用几种方法:
1. **直接设置Geometry**:
使用`setGeometry()`函数并计算出需要的水平和垂直偏移量,将宽度设为想要的最大宽度,并加上水平中心点的偏移,将高度设为默认值,然后设置顶部和底部边界到父容器的中间。
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.line_edit = QLineEdit()
self.setCentralWidget(self.line_edit)
# 计算居中位置
parent_width = self.parent().width()
line_edit_width = self.line_edit.width()
x_offset = (parent_width - line_edit_width) / 2
y_offset = 0 # 假设没有垂直偏移
self.line_edit.setGeometry(x_offset, y_offset, line_edit_width, self.line_edit.height())
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
2. **使用Layout Manager**:
如果你的UI由Qt布局管理器如QFormLayout、QHBoxLayout或 QVBoxLayout管理,可以直接将QLineEdit添加到布局中,并设置其对齐方式为居中。
```python
layout = QVBoxLayout()
layout.addWidget(QLabel('Input'), alignment=Qt.AlignTop) # 添加一个标签作为参考
layout.addWidget(self.line_edit, alignment=Qt.AlignCenter) # 设置QLineEdit为居中
self.setLayout(layout)
```
阅读全文