QLineEdit

xiaoxiao2022-06-11  31

QLineEdit

行输入,作用进行输入,有最主要输入类型的控制,此外就是输入格式,即过滤一些东西

部件设置
函数描述void setAlignment(Qt::Alignment flag)对齐方式void setClearButtonEnabled(bool enable)是否显示清除全部的按钮void setCursorMoveStyle(Qt::CursorMoveStyle style)鼠标形状void setCursorPosition(int)鼠标位置void setDragEnabled(bool b)允许拖动void setEchoMode(QLineEdit::EchoMode)输入类型,password等void setFrame(bool)void setInputMask(const QString &inputMask)控制输入格式void setMaxLength(int)长度void setModified(bool)可修改void setPlaceholderText(const QString &)占位符,没输入时候显示的东西void setReadOnly(bool)只读void setSelection(int start, int length)设置选择范围void setTextMargins(int left, int top, int right, int bottom)设置边框void setTextMargins(const QMargins &margins)void setValidator(const QValidator *v)控制可接受的输入
slots
void clear() void copy() const void cut() void paste() void redo() void selectAll() void setText(const QString &) void undo()
signals
void cursorPositionChanged(int oldPos, int newPos) void editingFinished() void returnPressed() void selectionChanged() void textChanged(const QString &text) void textEdited(const QString &text)
其他

1.mask

字符含义AASCII字母字符是必须的,A-Z、a-z。aASCII字母字符是允许的,但不是必须的。NASCII字母字符是必须的,A-Z、a-z、0-9。nASCII字母字符是允许的,但不是必须的。X任何字符都是必须要的。x任何字符都是允许的,但不是必须要的。9ASCII数字是必须要的,0-9。0ASCII数字是允许的,但不是必须要的。DASCII数字是必须要的,1-9。dASCII数字是允许的,但不是必须要的 (1-9)。#ASCII数字或加/减符号是允许的,但不是必须要的。H十六进制数据字符是必须要的,A-F、a-f、0-9。h十六进制数据字符是允许的,但不是必须要的。B二进制数据字符是必须要的,0-1。b二进制数据字符是允许的,但不是必须要的。>所有的字符字母都大写<所有的字符字母都小写!关闭大小写转换

| 使用 \ 去转义上述列出的字符。

例子
/* * QLineEdit * 输入类型的控制 * setEchoMode(QLineEdit::Normal); * setPlaceholderText("Normal"); */ mywidget::mywidget() { setWindowTitle("my widget test"); QVBoxLayout *layout=new QVBoxLayout(this); //echo mode QLineEdit *pnormal_line_edit = new QLineEdit(this); QLineEdit *pnoecho_line_edit = new QLineEdit(this); QLineEdit *ppassword_line_edit = new QLineEdit(this); QLineEdit *pdisplay_password_line_edit = new QLineEdit(this); pnormal_line_edit->setPlaceholderText("Normal"); //提示框 pnoecho_line_edit->setPlaceholderText("NoEcho"); ppassword_line_edit->setPlaceholderText("Password"); pdisplay_password_line_edit->setPlaceholderText("PasswordEchoOnEdit"); pnormal_line_edit->setEchoMode(QLineEdit::Normal); //输入方式 pnoecho_line_edit->setEchoMode(QLineEdit::NoEcho); ppassword_line_edit->setEchoMode(QLineEdit::Password); pdisplay_password_line_edit->setEchoMode(QLineEdit::PasswordEchoOnEdit); layout->addWidget(pnormal_line_edit); layout->addWidget(pnoecho_line_edit); layout->addWidget(ppassword_line_edit); layout->addWidget(pdisplay_password_line_edit); this->setFixedSize(300,300); this->show(); } /* *AddAction()//添加行为 */ mywidget::mywidget() { setWindowTitle("my widget test"); QVBoxLayout *layout=new QVBoxLayout(this); //echo mode QLineEdit *pline_edit = new QLineEdit(this); QAction *pleading_action=new QAction(this); pline_edit->setMaxLength(5); //可输入五个字符 pleading_action->setIcon(QIcon(":/image/wz2.jpg")); pline_edit->addAction(pleading_action,QLineEdit::LeadingPosition); pline_edit->setPlaceholderText("请输入搜索类容"); //提示框 QAction *pTrailingAction = pline_edit->addAction(QIcon(":/image/wz2.jpg"), QLineEdit::TrailingPosition); connect(pTrailingAction,QOverload<bool>::of(&QAction::triggered),[&pline_edit]{ qDebug()<<"进行搜索的内容为:"<<pline_edit->text();}); layout->addWidget(pline_edit); this->setFixedSize(300,300); this->show(); } /* * 输入验证 * QIntValidator整形类表达 * QDoubleValidator小数类表达 * QRegExp正则 * QRegExpValidator正则类型数 * 掩码 */ mywidget::mywidget() { setWindowTitle("my widget test"); QVBoxLayout *layout=new QVBoxLayout(this); //input authentication QLineEdit *pline_edit = new QLineEdit(this); QIntValidator *int_validator=new QIntValidator(this); QDoubleValidator *double_validator=new QDoubleValidator(this); QRegExpValidator *regexp_validator=new QRegExpValidator(this); QRegExp regexp("[a-zA-Z0-9]+$"); int_validator->setRange(1,99); double_validator->setRange(-200,200); double_validator->setDecimals(2); double_validator->setNotation(QDoubleValidator::StandardNotation); regexp_validator->setRegExp(regexp); // pline_edit->setValidator(int_validator); pline_edit->setValidator(double_validator); // pline_edit->setValidator(regexp_validator); QLineEdit *pline_edit2=new QLineEdit(); pline_edit2->setInputMask("000.000.000.000;_"); // pline_edit2->setInputMask("HH:HH:HH:HH:HH:HH;_"); // pline_edit2->setInputMask("0000-00-00"); // pline_edit2->setInputMask(">AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;#"); layout->addWidget(pline_edit); layout->addWidget(pline_edit2); this->setFixedSize(300,300); this->show(); }
转载请注明原文地址: https://www.6miu.com/read-4931489.html

最新回复(0)