如何避免Pyqt5的Lineedit中的空值或空值

问题描述 投票:0回答:1

我使用python创建了一个使用PyQT5的表单,其形式是我从用户通过QLineEdit获取值。

我的问题是用户不应该在表单中留下任何字段为空。

如何避免空Lineedit?

python pyqt5 qlineedit isnullorempty
1个回答
0
投票

一个简单的解决方案是使用自定义QValidator:

from PyQt5 import QtGui, QtWidgets

class NotEmptyValidator(QtGui.QValidator):
    def validate(self, text, pos):
        state = QtGui.QIntValidator.Acceptable if bool(text) else QtGui.QIntValidator.Invalid
        return state, text, pos

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QLineEdit("Hello World")
    validator = NotEmptyValidator(w)
    w.setValidator(validator)
    w.show()
    sys.exit(app.exec_())
© www.soinside.com 2019 - 2024. All rights reserved.