我想知道是否有办法更改QLineInput上的settigns,以便当用户开始键入文本时,该文本显示在QLine输入的中心而不是左侧。
答案 0 :(得分:0)
Qt :: AlignCenter-(AlignVCenter | AlignHCenter)在两个维度上居中。
from PyQt5 import Qt
class Widget(Qt.QWidget):
def __init__(self):
super().__init__()
self.line_edit = Qt.QLineEdit()
self.line_edit.setAlignment(Qt.Qt.AlignCenter) # <-----
self.line_edit.textChanged.connect(self.on_text_changed)
layout = Qt.QVBoxLayout()
layout.addWidget(self.line_edit)
self.setLayout(layout)
def on_text_changed(self, text):
width = self.line_edit.fontMetrics().width(text)
self.line_edit.setMinimumWidth(width)
if __name__ == '__main__':
app = Qt.QApplication([])
mw = Widget()
mw.show()
app.exec()