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

巨野网站定制做网站注意什么问题

巨野网站定制,做网站注意什么问题,团队拓展,企业网站开发外包合同文章目录 1、QLineEdit1、写程序2、正则表达式检查电话号码3、验证两次输入的密码是否一致4、切换显示密码状态 2、TextEdit1、多行编写2、信号 1、QLineEdit text在代码上改变或者界面上直接改动都会修改这个属性。 clearButtonEnabled,输入框为空,没有…

文章目录

  • 1、QLineEdit
    • 1、写程序
    • 2、正则表达式检查电话号码
    • 3、验证两次输入的密码是否一致
    • 4、切换显示密码状态
  • 2、TextEdit
    • 1、多行编写
    • 2、信号


1、QLineEdit

在这里插入图片描述
text在代码上改变或者界面上直接改动都会修改这个属性。

在这里插入图片描述
clearButtonEnabled,输入框为空,没有显示内容;输入时,右侧出现一个删除按钮,一点击就可以把输入内容清空。

在这里插入图片描述

1、写程序

在这里插入图片描述

在这里插入图片描述

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->lineEdit_name->setPlaceholderText("请输入姓名");ui->lineEdit_name->setClearButtonEnabled(true);ui->lineEdit_pw->setPlaceholderText("请输入密码");ui->lineEdit_pw->setClearButtonEnabled(true);ui->lineEdit_pw->setEchoMode(QLineEdit::Password);ui->lineEdit_phone->setPlaceholderText("请输入电话号码");ui->lineEdit_phone->setClearButtonEnabled(true);// 0代表数字, 字符串固定了输入格式ui->lineEdit_phone->setInputMask("000-0000-0000");
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_submit_clicked()
{QString gender = ui->radioButton_female->isChecked() ? "女" : "男";qDebug() << "姓名: " << ui->lineEdit_name->text()<< "密码: " << ui->lineEdit_pw->text()<< "性别: " << gender<< "电话: " << ui->lineEdit_phone->text();
}

2、正则表达式检查电话号码

电话号码的格式用inputMask来固定,但用正则表达式更好,也通用。

#include <QRegExpValidator>// 注册验证器// ^表示以后面的一个内容为开头; \d表示数字, \\不被转义; $表示结尾QRegExp regExp("^1\\d{10}$");ui->lineEdit_phone->setValidator(new QRegExpValidator(regExp));

接着转到这个框的槽函数textChanged或者textEdited,要写执行逻辑

void Widget::on_lineEdit_phone_textChanged(const QString &arg1)
{QString phone = arg1;int pos = 0;if (ui->lineEdit_phone->validator()->validate(phone, pos) == QValidator::Acceptable)ui->pushButton_submit->setEnabled(true);elseui->pushButton_submit->setEnabled(false);
}

ui->lineEdit_phone->validator()获得之前设定好的正则表达式,调用validate方法去验证是否等于QValidator::Acceptable,也就是可接受的。通过那么提交按钮就可用,不通过就不可用。validate两个参数,一个是用于检查的QString& 参数,另一个是int& 参数,表示如果不符合规则,返回从哪个位置开始不符合规则。

3、验证两次输入的密码是否一致

在这里插入图片描述

// 先在构造函数里设定一下初始值
ui->label->setText("密码为空");// widget.h
public:Widget(QWidget *parent = nullptr);~Widget();void compare();// widget.cpp
void Widget::compare()
{const QString& s1 = ui->lineEdit_pw_1->text();const QString& s2 = ui->lineEdit_pw_2->text();if (s1.isEmpty() && s2.isEmpty())ui->label->setText("密码为空");else if (s1 == s2)ui->label->setText("两次输入的密码一致");elseui->label->setText("两次输入的密码不一致");
}void Widget::on_lineEdit_pw_2_textEdited(const QString &arg1)
{// (void) 消除警告(void) arg1;this->compare();
}void Widget::on_lineEdit_pw_1_textEdited(const QString &arg1)
{(void) arg1;this->compare();
}

4、切换显示密码状态

在这里插入图片描述

ui->checkBox->setText("显示密码");void Widget::on_checkBox_toggled(bool checked)
{// true就显示密码, false隐藏密码if (checked){ui->lineEdit_pw_1->setEchoMode(QLineEdit::Normal);ui->lineEdit_pw_2->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit_pw_1->setEchoMode(QLineEdit::Password);ui->lineEdit_pw_2->setEchoMode(QLineEdit::Password);}
}

toggled在状态发生变化时触发。

2、TextEdit

多行输入框,和PlainTextEdit的区别是,PTE只能显示纯文本Plain Text,TE则可以显示Plain Text,html,markdown等。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、多行编写

在这里插入图片描述

转到下面Text Edit的textChanged槽函数

void Widget::on_textEdit_textChanged()
{const QString& text = ui->textEdit->toPlainText();ui->label->setText(text);
}

2、信号

void Widget::on_textEdit_textChanged()
{const QString& text = ui->textEdit->toPlainText();ui->label->setText(text);qDebug() << "textChanged: " << ui->textEdit->toPlainText();
}void Widget::on_textEdit_selectionChanged()
{QTextCursor cursor = ui->textEdit->textCursor();qDebug() << "selectionChanged: " << cursor.selectedText();
}void Widget::on_textEdit_cursorPositionChanged()
{QTextCursor cursor = ui->textEdit->textCursor();qDebug() << "cursorPositionChange: " << cursor.position();
}void Widget::on_textEdit_undoAvailable(bool b)
{qDebug() << "undoAvailable: " << b;
}void Widget::on_textEdit_redoAvailable(bool b)
{qDebug() << "redoAvailable: " << b;
}void Widget::on_textEdit_copyAvailable(bool b)
{qDebug() << "copyAvailabl: " << b;
}

关于undo和redo信号,ctrl + z时undo为false,redo为true;ctrl + y时undo为true,redo为false。

结束。

http://www.yayakq.cn/news/998767/

相关文章:

  • 慈溪建设局网站关键词优化网站
  • 国内空间没备案可以打开网站吗软件技术女生学怎么样
  • 强企网做网站什么是网站推广
  • 网站建设可视化工具个人可以做建站网站么
  • 阿凡达营销网站浙江省建筑诚信平台查询系统
  • 慈溪网站设计高端前端开发
  • 做淘宝优惠网站步骤wordpress cms主题 怎么用
  • 怎么在阿里巴巴网站做公司网上开店货源的选择主要有
  • 广州网站制作怎么做重庆专业网站推广方案
  • 公司建网站公司莱阳网页设计
  • 怎样做网站赚流量广州华茂建设工程有限公司 网站
  • 专业网站建设公司用织梦吗?创造app软件
  • ICP备案和实际网站不是一个名字全网获客营销系统
  • 做受视频网站全平台响应式网站建设
  • 免费企业网站 优帮云做3d地形比较好的网站
  • 保洁公司开发app绵阳网站建设优化
  • 厦门专业网站设计公司wordpress博客人物插件
  • 龙岗网站建设排名大连手机自适应网站制作价格
  • 建设信用卡分期购物网站网站制作上海
  • wordpress 网站加载过慢6培训网站建设公司哪家好
  • 青岛做网站的公司哪个好做网站推广有什么升职空间
  • 做标签网站凡科网站建设
  • 制作自己的网站学校中国工程建设工程造价管理协会网站
  • 建设银行内部学习网站wordpress5回复后查看
  • 211工程建设网站汕头 做网站
  • 网站开发有几个阶段下载app到手机
  • 能够做代理的网站长白山开发建设集团网站
  • 做购物网站收费广告公司注册需要什么条件
  • 网站会说话12333公共招聘网
  • 网站设计建议wordpress文章末尾