QLineEdit 设置标题大小写

QLineEdit set title case

是否可以在输入时使用 QValidator 设置 QLineEdit 的文本?如果是这样,有人可以在正确的方向上推动如何实现它吗?谢谢。

您只需覆盖验证方法:

from PyQt5 import QtCore, QtGui, QtWidgets

class TitleValidator(QtGui.QValidator):
    def validate(self, _input, pos):
        return QtGui.QValidator.Acceptable , _input.title(), pos

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QLineEdit()
    validator = TitleValidator(w)
    w.setValidator(validator)
    w.show()
    sys.exit(app.exec_())