PyQt5 QInputDialog 设置文件扩展名不可修改
可以使用 QLineEdit 的 setReadOnly 方法将 '.' 后面的部分设置为只读。
from PyQt5.QtWidgets import QApplication, QLineEdit, QInputDialog
app = QApplication([])
input_dialog = QInputDialog()
line_edit = QLineEdit(input_dialog)
line_edit.setText('1.jpg')
# 获取 '.' 的位置
dot_index = line_edit.text().index('.')
# 设置 '.' 后面的部分为只读
line_edit.setReadOnly(True)
line_edit.setCursorPosition(dot_index + 1)
input_dialog.show()
app.exec_()
在这个例子中,我们首先创建一个 QLineEdit 对象,并将其设置为 QInputDialog 的子对象。然后,我们将文本设置为 '1.jpg'。然后,我们使用 index() 方法获取 '.' 的位置,并使用 setReadOnly() 方法将 '.' 后面的部分设置为只读。最后,我们使用 setCursorPosition() 方法将光标定位到 '.' 后面的位置。
这样,用户就无法修改 '.' 后面的部分了。
原文地址: https://www.cveoy.top/t/topic/hGk3 著作权归作者所有。请勿转载和采集!