PyQt QLineEdit(文本框输入)

QLineEdit类是一个单行文本框控件,可以输入一个单行字符串。

QLineEdit允许用户输入和编辑单行纯文本,并提供许多有用的编辑功能,包括:撤消和重做,剪切和粘贴以及拖放(请参阅setDragEnabled())。

通过更改输入框的echoMode(),还可以将其设置为“仅写”字段,以输入密码等。

文本的长度可以限制为maxLength(),可以使用validator()或inputMask()任意限制。在同一输入框中切换验证器和输入掩码时,最好清除验证器或输入掩码以防止不确定的行为。

 

QLineEdit示例

pyqt qlineedit文本输入第一个文本框:显示使用自定义字体,右对齐并允许整数输入的文本。

第二个文本框:将输入限制为两位小数。

第三个文本框:设置掩码输入格式,输入掩码应用于电话号码。

第四个文本框:需要传输信号textChanged,它连接到插槽函数textchanged()。

第五个文本框:将显示模式设置为“密码”。

第六个文本框:显示无法编辑的默认文本,设置为只读。

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)
                e1 = QLineEdit()
                e1.setValidator(QIntValidator())
                e1.setMaxLength(4)
                e1.setAlignment(Qt.AlignRight)
                e1.setFont(QFont("Arial",20))

                e2 = QLineEdit()
                e2.setValidator(QDoubleValidator(0.99,99.99,2))
                e3 = QLineEdit()
                e3.setInputMask("+99_9999_999999")

                e4 = QLineEdit()
                e4.textChanged.connect(self.textchanged)

                e5 = QLineEdit()
                e5.setEchoMode(QLineEdit.Password)

                e6 = QLineEdit("Hello PyQt5")
                e6.setReadOnly(True)
                e5.editingFinished.connect(self.enterPress)

                flo = QFormLayout()
                flo.addRow("integer validator",e1)
                flo.addRow("Double validator",e2)
                flo.addRow("Input Mask",e3)
                flo.addRow("Text changed",e4)
                flo.addRow("Password",e5)
                flo.addRow("Read Only",e6)

                self.setLayout(flo)
                self.setWindowTitle("QLineEdit Example")

        def textchanged(self,text):
                print("Changed: " + text)

        def enterPress(self):
                print("Enter pressed")

if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = lineEditDemo()
        win.show()
        sys.exit(app.exec_())

标签

发表评论