【问题标题】:QLineEdit set title caseQLineEdit 设置标题大小写
【发布时间】:2019-03-28 16:39:14
【问题描述】:

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

【问题讨论】:

  • 更好地解释自己,您希望 QValidator 做什么?
  • 当我在 QLineEdit 中输入姓氏时,我希望字符串显示为标题大小写 - (而不是 smith,我想看到 Smith)。我是否使用 QValidator 执行此操作?

标签: python python-3.x pyqt pyqt5 qlineedit


【解决方案1】:

你只需要覆盖验证方法:

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_())

【讨论】:

  • 我做的比原来难多了....试图使用修复方法。谢谢!
猜你喜欢
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 2016-01-29
  • 2013-06-03
相关资源
最近更新 更多