QLineEdit正则表达式文件名,请写出测试代码
时间: 2023-06-30 17:11:38 浏览: 107
QT文本输入正则表达式demo
好的,以下是一个使用QLineEdit和正则表达式限制文件名输入的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout
from PyQt5.QtGui import QRegExpValidator
from PyQt5.QtCore import QRegExp
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('File Name Test')
self.setGeometry(300, 300, 250, 100)
layout = QVBoxLayout()
label = QLabel('Enter a file name:')
layout.addWidget(label)
line_edit = QLineEdit()
layout.addWidget(line_edit)
# 设置正则表达式限制文件名输入
reg_exp = QRegExp('[^\\\\/:*?"<>|\r\n]+$') # 不包含指定字符的文件名
validator = QRegExpValidator(reg_exp, line_edit)
line_edit.setValidator(validator)
self.setLayout(layout)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MyWidget()
sys.exit(app.exec_())
```
该代码使用了QLineEdit和QRegExpValidator来实现对文件名的限制,只允许输入不包含反斜杠、冒号、星号、问号、双引号、尖括号、竖线和换行符的文件名。
阅读全文