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

汽车网站建设公司学百度推广培训

汽车网站建设公司,学百度推广培训,北师大 网页制作与网站建设 考试,wordpress哪个模板好目录 1.QLineEdit 单行输入框 例:输入个人信息,通过按钮提交 例:为输入框设置验证器,检查输入的电话 例:验证两次输入的密码是否一致 例:是否显示密码按钮,toggled信号。 2.QTextEdit多行输入框 、QPl…

目录

1.QLineEdit 单行输入框

例:输入个人信息,通过按钮提交

例:为输入框设置验证器,检查输入的电话

例:验证两次输入的密码是否一致

例:是否显示密码按钮,toggled信号。

2.QTextEdit多行输入框 、QPlainTextEdit纯文本输入框

例:textChanged()信号,获取输入框文本textEdit.toPlainText()

例:selectionChanged信号,获取光标选中的文本

例:cursorPositionChanged()信号,获取光标位置

例:undoAvailable(bool)和redoAvailable(bool)信号

例:copyAvailable(bool b)信号


1.QLineEdit 单行输入框

功能:单行输入框、可以输入一段文本,但不能换行。

属性:

text输入框文本
inputMask输入内容格式约束,对输入内容进行简单校验。
maxLength文本最大长度
frame是否添加边框
echoMode

显示方式

QLineEdit::Normal:默认值,输入什么显示什么

QLineEdit::Password:输入字符被隐藏

替代显示*或=

QLineEdit::NoEcho:输入不显示任何字符

cursorPosition光标所在位置
alignment文字对齐方式
dragEnabled是否允许被拖拽
readOnly是否时只读的(不允许修改文本)
placeHolderText当输入框的输入内容为空时,显示的提示信息
clearButtonEnabled是否会显示“清除按钮”,点击清除输入框输入的所有内容。

信号:
 

cursorPositionChanged(int old, int new)鼠标位置发生改变时发出信号,old为原位置、new为新位置。
editingFinished()按下返回或回车,或行编辑失去焦点时,发出次信号。
returnPressed()

按下返回或回车时发出信号,

如果设置了验证器,必须验证通过才能发出信号。

selectionChanged()

当选中的文本改变时,发出该信号。

textChanged(const QString &text)

当文本内容改变时,发出信号。

text是新文本。

当通过代码方式修改文本,也能触发该信号。

textEdited(const QString &text)

当文本内容改变时,发出信号。

text是新文本。

当通过代码方式修改文本,不能触发该信号。

只能由使用者修改输入框内容时,才会触发。

例:输入个人信息,通过按钮提交

    //InputMask,设置输入文本的固定格式,0表示数字ui->lineEdit_phone->setInputMask("000-0000-0000");
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->lineEdit_name->setPlaceholderText("请输入姓名");ui->lineEdit_name->setClearButtonEnabled(true);ui->lineEdit_password->setPlaceholderText("请输入密码");ui->lineEdit_password->setEchoMode(QLineEdit::Password);ui->lineEdit_password->setClearButtonEnabled(true);ui->lineEdit_phone->setPlaceholderText("请输入电话");ui->lineEdit_phone->setClearButtonEnabled(true);//InputMask,设置输入文本的固定格式,0表示数字ui->lineEdit_phone->setInputMask("000-0000-0000");
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{//获取性别按钮的选中状态QString gender=ui->radioButton_male->isChecked()?"男":"女";//获取用户输入的信息qDebug()<<"姓名:"<<ui->lineEdit_name->text()<<"密码:"<<ui->lineEdit_password->text()<<"性别:"<<gender<<"电话:"<<ui->lineEdit_phone->text();
}

例:为输入框设置验证器,检查输入的电话

inputMask只能对输入内容跟进行简单的校验

通过正则表达式,可以实现更复杂的字符串匹配校验。

正则表达式(Regular Expression,简称 Regex)是一种用于匹配和处理字符串的模式。它可以通过一个特定的规则来定义字符的集合,帮助你查找、替换、提取或验证文本数据。

通过验证器,验证一个字符串是否符合规则

  • 定义正则表达式对象
 QRegExp regExp("^1\\d{10}$");//正则表达式对象//^1:表示以1开//\d{10}:\d表示数字,加\\为了防止c++识别为转义字符//{10}:表示前面的内容重复出现10次,就表示必须出现10个数字//$表示结尾
  •   创建一个验证器对象QRegExpValidator(regExp),设置到控件
    ui->lineEdit->setValidator(new QRegExpValidator(regExp));//只是注册一个验证器
  • 使用验证器 validator()->validate(content,pos)

参数1:需要检查的字符串

需注意textEdited信号触发,槽函数传递的参数是const的,不能直接传入validate(),需拷贝到临时对象。

参数2:int&

输入输出型参数,返回字符串从哪个位置开始不匹配

返回值:符合匹配规则时返回QValidator::Acceptable

    QString content=arg1;int pos=0;//验证通过,解除按钮的禁用状态if(ui->lineEdit->validator()->validate(content,pos)==QValidator::Acceptable){//验证通过ui->pushButton->setEnabled(true);}else{ui->pushButton->setEnabled(false);}

例题代码:通过是否匹配,来决定是否解除button按钮的禁用状态。

1.QRegExp regExp("^1\\d{10}$");//正则表达式对象2.QLineEdit*-> setValidator(new QRegExpValidator(regExp));//创建验证器,并传入lineEdit控件3.使用输入框内容改变时会触发的信号
textEdited(const QString &text)/textChanged(const QString &text)4.在槽函数中,使用验证器验证字符串,判断是否符合规则if(ui->lineEdit->validator()->validate(content,pos)==QValidator::Acceptable)
#include "widget.h"
#include "ui_widget.h"
#include<QRegExpValidator>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//给单行输入框设置验证器,基于正则表达式实现QRegExp regExp("^1\\d{10}$");//正则表达式对象//^1:表示以1开//\d{10}:\d表示数字,加\\为了防止c++识别为转义字符//{10}:表示前面的内容重复出现10次,就表示必须出现10个数字//&表示结尾//创建一个验证器对象,传入lineedit控件ui->lineEdit->setValidator(new QRegExpValidator(regExp));//只是注册一个验证器}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{
}void Widget::on_lineEdit_textEdited(const QString &arg1)
{QString content=arg1;int pos=0;//验证通过,解除按钮的禁用状态if(ui->lineEdit->validator()->validate(content,pos)==QValidator::Acceptable){//验证通过ui->pushButton->setEnabled(true);}else{ui->pushButton->setEnabled(false);}
}

例:验证两次输入的密码是否一致

使用textEdited(const QString &text)信号来触发对两个输入框内容的检查。

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//设置EchoModeui->lineEdit->setEchoMode(QLineEdit::Password);ui->lineEdit_2->setEchoMode(QLineEdit::Password);}Widget::~Widget()
{delete ui;
}void Widget::on_lineEdit_2_textEdited(const QString &arg1)
{this->compare();
}void Widget::on_lineEdit_textEdited(const QString &arg1)
{this->compare();
}void Widget::compare()
{//获取两个输入框的内容const QString& s1=ui->lineEdit->text();const QString& s2=ui->lineEdit_2->text();if(s1.isEmpty() && s2.isEmpty()){ui->label_tip->setText("密码为空");}else if(s1==s2){ui->label_tip->setText("两次输入的密码一致");}else{ui->label_tip->setText("两次输入的密码不一致");}
}

例:是否显示密码按钮,toggled信号。

利用按钮的toggled信号

#include "widget.h"
#include "ui_widget.h"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_checkBox_toggled(bool checked)//按钮选中的状态切换时触发
{//参数为选中状态if(checked==true){ui->lineEdit->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit->setEchoMode(QLineEdit::Password);}
}

2.QTextEdit多行输入框 、QPlainTextEdit纯文本输入框

  • QTextEdit支持文本格式:纯文本、富文本、markdown格式
  • QPlainTextEdit支持的文本格式:纯文本

这两个输入框、除了支持的文本格式不一样外,其他基本一致,所以以QTextEdit为例就可以啦。

属性:

markdown

输入框的内容,支持markdown格式。

能够自动将markdown文本渲染成html。

html输入框的内容,支持大部分html标签。
placeHolderText输入框为空时的提示信息
readOnly输入框是否只读。
undoRedoEnable

是否启动undo/redo功能。

undo ctrl+z:撤销

redo ctrl+y:还原撤销

autoFormating是否开启自动格式化
tabstopWidth按下一个tab键,缩进几个空格
overwriteMode是否开启覆盖写模式
acceptRichText是否接受富文本内容。
verticalScrollBarPolicy

垂直方向滚动条的出现策略。

Qt::ScrollBarAsNeeded :根据内容⾃动决定是否需要滚动条。默认值。

Qt::ScrollBarAlwaysOff :总是关闭滚动条。 

Qt::ScrollBarAlwaysOn :总是显⽰滚动条。

horizontalScrollBarPolicy

⽔平⽅向滚动条的出现策略 Qt::ScrollBarAsNeeded :根据内容⾃动决定是否需要滚动条。这是默认值。

Qt::ScrollBarAlwaysOff :总是关闭滚动条。Qt::ScrollBarAlwaysOn :总是显⽰滚动条。

信号:
 

textChanged()文本内容发生改变时触发
selectionChanged()选中范围改变时触发
sursorPositionChanged()光标移动时触发
undoAvailable(bool)

undo操作的状态切换时触发

由不可执行到可执行变化时触发一次

或不可执行到可执行时触发一次

redoAvailable(bool)redo操作的状态切换时时触发
copyAvailable(bool)文本被选中/取消时触发

例:textChanged()信号,获取输入框文本textEdit.toPlainText()

void Widget::on_textEdit_textChanged()
{//获取多行输入框的内容const QString& str=ui->textEdit->toPlainText();//还有:toHtml() toMarkdown()ui->label->setText(str);
}

没有按下回车之前,输入的内容是输入到输入法中的。

按下回车后,才会从输入法将文本输入到输入框内,触发信号。

例:selectionChanged信号,获取光标选中的文本

光标选中范围改变时触发,槽函数没有参数,没有直接传递改变的信息。

可以在信号触发后,访问输入框的textCursor对象,通过该对象可以获取光标选中范围的文本、和光标位置。

void Widget::on_textEdit_selectionChanged()//光标选中范围改变是触发selectionChanged信号
{QTextCursor cursor=ui->textEdit->textCursor();//文本光标对象qDebug()<<"selectionChanged:"<<cursor.selectedText();//获取光标选中的文本
}

例:cursorPositionChanged()信号,获取光标位置

void Widget::on_textEdit_cursorPositionChanged()//光标位置移动时触发
{QTextCursor cursor=ui->textEdit->textCursor();//文本光标对象qDebug()<<"cursorPositionChanged:"<<cursor.position();//获取光标的位置
}

例:undoAvailable(bool)和redoAvailable(bool)信号

 

void Widget::on_textEdit_undoAvailable(bool b)//undo状态改变时触发一次
{qDebug()<<"undoAvailable:"<<b;//
}void Widget::on_textEdit_redoAvailable(bool b)//redo状态改变时触发一次
{qDebug()<<"redoAvailable:"<<b;//
}

例:copyAvailable(bool b)信号

void Widget::on_textEdit_copyAvailable(bool b)//文本被选中/取消时触发
{qDebug()<<"copyAvailable:"<<b;
}

http://www.hkea.cn/news/94600/

相关文章:

  • 政府网站建设的基本原则百度网盘电脑版
  • 张家港网站建设福州百度快速优化
  • 兼职做网站编辑百度搜索推广开户
  • 谁告诉你j2ee是做网站的宁波网站推广找哪家公司
  • 谷歌外贸建站多少钱搭建网站教程
  • 赚钱靠普的网站关键字搜索软件
  • 建设银行深分行圳招聘网站做游戏推广一个月能拿多少钱
  • 北京网站建设及推广招聘关键词排名代做
  • 对网站建设的意见建议网络营销推广的方法有哪些
  • 爬虫网站怎么做怎样才能在百度上面做广告宣传
  • 网站页码南昌做seo的公司有哪些
  • 网络设计方案包括哪些深圳百度推广seo公司
  • 亚马逊跨境电商开店站长工具seo综合查询5g
  • 网站怎么做百度快照logo百度快照优化推广
  • 山西网站建设排名seo技术培训山东
  • 日韩系成人影片成首选网站如何优化推广
  • 网站到期续费通知搜索风云排行榜
  • 网站公司说我们做的网站服务器不够用哪个杭州seo好
  • 类似淘宝网站建设费用杭州哪家seo公司好
  • 装修网站怎样做seo专员很难吗
  • 无锡网站外包如何接广告赚钱
  • 英文网站制作 官网淘宝标题优化网站
  • 电力建设网站网络推广网站的方法
  • 如何做网站窗口网站优化网络推广seo
  • 营销型网站建设效果网络营销策划推广方案
  • 专业的网站搭建多少钱网站seo优化价格
  • 广州公司网站设计制作win10优化大师官网
  • 做调查哪个网站比较可靠百度指数查询
  • 怎么在建设厅网站报名广州网站优化服务
  • 怎么用dw做静态网站b站好看的纪录片免费