在 python 中清除一个 lineEdit inputMask
Clear a lineEdit inputMask in python
如何清除 python 中的掩码?我正在使用 setInputMask
在 qLineEdit
中插入一个掩码,但一段时间后我想清除 lineEdit
(移除掩码)。我尝试使用 clearMask
、clear
和 setText("")
,但 none 有效。
MVCE:
from PyQt5.QtWidgets import QApplication,QLineEdit,QWidget,QFormLayout
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QFont
from PyQt5.QtCore import Qt
import sys
class lineEditDemo(QWidget):
def __init__(self,parent=None):
super().__init__(parent)
e3 = QLineEdit()
e3.setInputMask("+99_9999_999999")
e3.clearMask()
e3.clear()
e3.setText("")
flo = QFormLayout()
flo.addRow("Input Mask",e3)
self.setLayout(flo)
self.setWindowTitle("QLineEdit Example")
if __name__ == "__main__":
app = QApplication(sys.argv)
win = lineEditDemo()
win.show()
sys.exit(app.exec_())
我应该用什么方法清除lineEdit
掩码,因为clearMask
和其他方法都不起作用。
您必须将空字符串传递给 setInputMask()
正如文档指出的那样:
If no mask is set, inputMask() returns an empty string.
e3.setInputMask("")
注:clearMask()
清除另一种掩码:https://doc.qt.io/qt-5/qwidget.html#setMask
只需使用一个空字符串:
setInputMask('')
我强烈建议您阅读文档而不是随意尝试,因为很明显 clearMask()
has absolutely nothing to do with it, while inputMask
明确指出:
Unset the mask and return to normal QLineEdit operation by passing an empty string ("").
如何清除 python 中的掩码?我正在使用 setInputMask
在 qLineEdit
中插入一个掩码,但一段时间后我想清除 lineEdit
(移除掩码)。我尝试使用 clearMask
、clear
和 setText("")
,但 none 有效。
MVCE:
from PyQt5.QtWidgets import QApplication,QLineEdit,QWidget,QFormLayout
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QFont
from PyQt5.QtCore import Qt
import sys
class lineEditDemo(QWidget):
def __init__(self,parent=None):
super().__init__(parent)
e3 = QLineEdit()
e3.setInputMask("+99_9999_999999")
e3.clearMask()
e3.clear()
e3.setText("")
flo = QFormLayout()
flo.addRow("Input Mask",e3)
self.setLayout(flo)
self.setWindowTitle("QLineEdit Example")
if __name__ == "__main__":
app = QApplication(sys.argv)
win = lineEditDemo()
win.show()
sys.exit(app.exec_())
我应该用什么方法清除lineEdit
掩码,因为clearMask
和其他方法都不起作用。
您必须将空字符串传递给 setInputMask()
正如文档指出的那样:
If no mask is set, inputMask() returns an empty string.
e3.setInputMask("")
注:clearMask()
清除另一种掩码:https://doc.qt.io/qt-5/qwidget.html#setMask
只需使用一个空字符串:
setInputMask('')
我强烈建议您阅读文档而不是随意尝试,因为很明显 clearMask()
has absolutely nothing to do with it, while inputMask
明确指出:
Unset the mask and return to normal QLineEdit operation by passing an empty string ("").