vdk*_*ian 1 pyqt pyqt4 pyside python-2.7
我在PySide中编写代码,其中包含一个"更改IP"按钮.单击该按钮时,会出现一个包含文本框的对话框.我想在文本框上验证只接受IP地址.
我正在使用此代码:
QtGui.QInputDialog.getText(self, "Title", "Enter IP: ")
Run Code Online (Sandbox Code Playgroud)
AFAIR,QInputDialog.getText不支持动态验证,但如果您愿意滚动自己的对话框,可以使用QRegExpValidator
1.在互联网上查找所需的正则表达式(例如,这里).看到它看起来像
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ 对于IP4
rx = QRegExp("regular_expression_string_from_step_1")
3.创建QRegExpValidator实例并将rx对象传递给它的构造函数,如下所示:
my_validator = QRegExpValidator(rx)
Run Code Online (Sandbox Code Playgroud)
my_line_edit.setValidator(my_validator) 就是这样,my_line_edit现在应该拒绝输入无效的IP地址.如果你不想这样做,你可以使用python自己的re moodule进行事后验证,使用步骤1中的正则表达式.
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |