例子
此示例中的 QLineEdit 对象演示了其中一些方法的使用。
第一个字段e1使用自定义字体显示文本,右对齐并允许整数输入。第二个字段将输入限制为小数点后 2 位的数字。用于输入电话号码的输入掩码应用于第三个字段。字段上的 textChanged() 信号e4连接到 textchanged() 插槽方法。
的内容e5字段以密码形式回显,因为其 EchoMode 属性设置为 Password。它的editingfinished() 信号连接到presenter() 方法。因此,一旦用户按下 Enter 键,该功能就会被执行。场e6显示默认文本,无法编辑,因为它设置为只读。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
app = QApplication(sys.argv)
win = QWidget()
e1 = QLineEdit()
e1.setValidator(QIntValidator())
e1.setMaxLength(4)
e1.setMoognment(Qt.MoognRight)
e1.setFont(QFont("Arial",20))
e2 = QLineEdit()
e2.setValidator(QDoubleValidator(0.99,99.99,2))
flo = QFormLayout()
flo.addRow("integer validator", e1)
flo.addRow("Double validator",e2)
e3 = QLineEdit()
e3.setInputMask('+99_9999_999999')
flo.addRow("Input Mask",e3)
e4 = QLineEdit()
e4.textChanged.connect(textchanged)
flo.addRow("Text changed",e4)
e5 = QLineEdit()
e5.setEchoMode(QLineEdit.Password)
flo.addRow("Password",e5)
e6 = QLineEdit("Hello Python")
e6.setReadOnly(True)
flo.addRow("Read Only",e6)
e5.editingFinished.connect(enterPress)
win.setLayout(flo)
win.setWindowTitle("PyQt")
win.show()
sys.exit(app.exec_())
def textchanged(text):
print "contents of text box: "+text
def enterPress():
print "edited"
if __name__ == '__main__':
window()