当前位置: 首页 > wzjs >正文

武汉网站建设全包百度联盟怎么加入赚钱

武汉网站建设全包,百度联盟怎么加入赚钱,今日全国疫情最新数据,用什么软件做网站最简单 最方便单行输入框QLineEdit QLineEdit 是一个单行输入框控件,可用输入一段文本,但是不能换行。 1. QLineEdit属性 属性说明text输入框中的文本。inputMask输入框内容格式约束。maxLength最大长度。frame是否添加边框。echoMode显示方式。QLineEdit::Normal …

单行输入框QLineEdit

QLineEdit 是一个单行输入框控件,可用输入一段文本,但是不能换行。

1. QLineEdit属性

属性说明
text输入框中的文本。
inputMask输入框内容格式约束。
maxLength最大长度。
frame是否添加边框。
echoMode显示方式。QLineEdit::Normal 为默认值,输入框会显示输入的文本;QLineEdit::Password 为隐藏模式,输入框的内容会被特殊符号隐藏;QLineEdit::NoEcho 为无回显模式,输入框的内容为空白不显示。
cursorPosition光标所在位置。
alignment文字对齐方式,可设置水平和垂直方向的对齐。
dragEnabled是否允许拖拽。
readOnly是否是只读(不可修改)的。
placeHolderText当输入框为空时,显示的内容(即显示提示信息)。
clearButtonEnabled是否显示 “一键清除按钮” 。

2. QLineEdit信号

信号说明
voidcursorPositionChanged(int old, int new)当鼠标移动时发出此信号,old 为先前的位置,new 为新位置。
void editingFinished()当按返回或者回车键时,或者行编辑失去焦点时,发出此信号。
void returnPressed()当返回或回车键按下时发出此信号.如果设置了验证器,必须要验证通过,才能触发。
void selectionChanged()当选中的文本改变时,发出此信号。
void textChanged(const QString &text))QLineEdit 中的文本改变时,发出此信号,text 是新的文本。代码对文本的修改能够触发这个信号。
void textEdited(const QString &text))当QLineEdit中的文本改变时,发出此信号,text 是新的文本。代码对文本的修改不能触发这个信号。

3. 关于intputMask属性

intputMask 表示输入框内容格式约束,可用 0d 表示数字的占位符,用 a 表示字母或汉字的占位符,其他的字符输进去相当于不可被删除的文本

如调用 setInputMask("000") ,则该对应的文本框可输入 3 个数字:

QLineEdit1


如调用 setInputMask("aaaa") ,则该对应的文本框可输入 4 个字母或汉字:

QLineEdit2


inputMask 中的其他字符都会变成不可被修改的固定内容,如调用 setInputMask("000-0000-0000") ,则输入框可呈现这种样式:

QLineEdit3

3.1 validator与正则表达式

intputMask 的限制比较简单,如果需要更复杂的输入格式显示,需要使用正则表达式进行限制QLineEdit 中有一个 setValidator() 的接口,向其中传入一个 Qt 内置的 QRegExp (正则表达式)类型的参数,就可以通过该参数设置 QLineEdit 的正则表达式规则:

#include <QRegExpValidator>QRegExp regExp("\\d{10}$");//限制只能且必须输入10个数字
ui->lineEdit->setValidator(new QRegExpValidator(regExp));

在使用 validator 对输入框进行限制的判断中,需要注意一个接口:

virtual QValidator::State validate(QString &input, int &pos) const override

input :是需要验证内容(注意该类型为 QString &QLineEdit 的相关槽函数的类型可能是 const QString & ,使用是需要转换一下)。

pos :是输入框不合法字符的位置(实际不需要特别考虑,传入 0 也可以)。

reval :返回值是一个枚举类型 QValidator::State ,如果为 QValidator::Acceptable 则表示该内容符合正则表达式规则,为 QValidator::Invalid 则为不符合。

#include "widget.h"
#include "ui_widget.h"
#include <QRegExpValidator>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QRegExp regExp("\\d{10}$");//限制只能且必须输入10个数字ui->lineEdit->setValidator(new QRegExpValidator(regExp));
}Widget::~Widget()
{delete ui;
}void Widget::on_lineEdit_textEdited(const QString &arg1)
{QString context=arg1;int pos =0;if(ui->lineEdit->validator()->validate(context,pos)==QValidator::Acceptable){ui->pushButton->setEnabled(true);}else{ui->pushButton->setEnabled(false);}}

QLineEdit4

当输入的数字不足 10 个时,按钮设置为灰色。当输入的数字为 10 个时,按钮才可点击。且不可输入字母或汉字。

4. 使用QLineEdit制作两次输入密码一致验证

只需要在 textEdited() 中对两个输入框做相等判断即可:

#include "widget.h"
#include "ui_widget.h"
#include <QRegExpValidator>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->lineEdit->setEchoMode(QLineEdit::Password);ui->lineEdit_2->setEchoMode(QLineEdit::Password);}Widget::~Widget()
{delete ui;
}void Widget::on_lineEdit_textEdited(const QString &arg1)
{(void) arg1;//过滤告警const QString& s1=ui->lineEdit->text();const QString& s2=ui->lineEdit_2->text();if(s1.isEmpty()||s2.isEmpty()){ui->label->setText("密码为空!");}else if(s1==s2){ui->label->setText("两次密码相同!");}else{ui->label->setText("两次密码不同!");}}void Widget::on_lineEdit_2_textEdited(const QString &arg1)
{(void) arg1;//过滤告警const QString& s1=ui->lineEdit->text();const QString& s2=ui->lineEdit_2->text();if(s1.isEmpty()||s2.isEmpty()){ui->label->setText("密码为空!");}else if(s1==s2){ui->label->setText("两次密码相同!");}else{ui->label->setText("两次密码不同!");}}

QLineEdit5

5. 使用QLineEdit制作密码显示与密码隐藏按钮

RadioButton 的槽函数中切换输入框的 echoMode 属性的值即可,注意这里按钮的槽函数使用 toggled()clicked() 更合适:

#include "widget.h"
#include "ui_widget.h"
#include <QRegExpValidator>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->lineEdit->setEchoMode(QLineEdit::Password);}Widget::~Widget()
{delete ui;
}void Widget::on_radioButton_toggled(bool checked)
{if(checked==true){ui->lineEdit->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit->setEchoMode(QLineEdit::Password);}
}

QLineEdi6

http://www.dtcms.com/wzjs/113021.html

相关文章:

  • 前端开发人员怎么做网站cpc广告接单平台
  • 国网公司网站十大骗子教育培训机构
  • 青海建设厅网站特种作业域名服务器ip地址查询
  • 网站建站图片站长统计入口
  • 网站云推广百度推广怎么赚钱
  • 香港建设银行官方网站西安网站优化
  • 静安做网站的公司天天自学网网址
  • 楼市最新消息2023年房价走势沈阳网站关键字优化
  • 网站域名如何备案品牌营销服务
  • 一级a做爰小说免费网站seo怎么做优化排名
  • 电商网站规划论文广告搜索引擎
  • 广州seo网站推广技巧360竞价推广怎么做
  • 慢慢来做网站多少钱企业管理系统
  • 技术支持 合肥网站建设个人发布信息免费推广平台
  • 影响网站排名的因素代写文案平台
  • 网站设计联系方式收录网站排名
  • seo做网站真的赚钱推广网站seo
  • 网站空间最便宜微指数查询入口
  • 济南建网站多少钱市场营销推广活动方案
  • 西安网站开开发票网站查询域名
  • 男女之间做那种事情视频网站今天重大国际新闻
  • 网站搜索建设北京网站优化培训
  • 东莞清溪妇产科医院北京seo运营推广
  • sql2005做网站百度网站排名优化价格
  • 网络销售型网站有哪些电商平台如何推广运营
  • 象山县住房建设局网站网络推广如何收费
  • 重庆网站快速排名提升网络营销软文范例300字
  • 如何做超一个电子商务网站互联网品牌的快速推广
  • 动态网站开发工程师—asp百度指数怎样使用
  • wordpress 自定义页面列表网站推广seo教程