9_3_LineEdit

2024-09-04 02:44
文章标签 lineedit

本文主要是介绍9_3_LineEdit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LineEdit

InputMask 版本

//核心属性
inputMask()//输⼊内容格式约束,参数"000",输入内容就限制只能输入三个数字
echoMode()//显⽰⽅式.参数有QLineEdit::Normal、QLineEdit::Password、QLineEdit::NoEcho
placeHolderText()//当输⼊框内容为空的时候, 显⽰什么样的提⽰信息,参数是字符串
clearButtonEnabled()//是否会⾃动显⽰出 "清除按钮,参数是布尔类型。
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->setClearButtonEnabled(true);ui->lineEdit_password->setEchoMode(QLineEdit::Password);//初始化性别ui->radioButton_male->setChecked(true);//初始化第三个ui->lineEdit_phoneNumber->setPlaceholderText("请输入电话");ui->lineEdit_phoneNumber->setClearButtonEnabled(true);ui->lineEdit_phoneNumber->setInputMask("00000000000");}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{QString gender = ui->radioButton_male->isEnabled()?"男":"女";qDebug()<< "姓名:"<<ui->lineEdit_name->text()<<"密码:"<<ui->lineEdit_password->text()<<"性别:"<<gender<<"手机号"<<ui->lineEdit_phoneNumber->text();
}

正则表达式版本

正则表达式:QRegExp (Regular Express)

	//设置正则表达式,设置正则表达式需要的验证器QRegExp regExp("^1\\d{10}$");//需要给单行输入框设置一个验证器,这样下面才能对输入框中的文本进行验证ui->lineEdit->setValidator(new QRegExpValidator(regExp));//validate有两个返回值,一个是acceptable,一个是invalid,还一个忘了,参数是字符串和整形数字,整形没意义。Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->pushButton->setEnabled(false);QRegExp regExp("^1\\d{10}$");//需要给单行输入框设置一个验证器,这样下面才能对输入框中的文本进行验证ui->lineEdit->setValidator(new QRegExpValidator(regExp));
}Widget::~Widget()
{delete ui;
}void Widget::on_lineEdit_textEdited(const QString &text)
{QString string = text;int pos = 0;if(ui->lineEdit->validator()->validate(string, pos) == QRegExpValidator::Acceptable){ui->pushButton->setEnabled(true);}else{ui->pushButton->setEnabled(false);}
}

对比两个密码

//判断字符串是否为空字符串,返回值是个布尔类型的
isEmpty();

void Widget::on_lineEdit_textEdited(const QString &arg1)
{(void) arg1;compare();
}void Widget::compare()
{const QString t1 = ui->lineEdit->text();const QString t2 = ui->lineEdit_2->text();if(t1.isEmpty() && t2.isEmpty()){ui->label->setText("密码为空");}else if(t1 == t2){ui->label->setText("密码一致");}else{ui->label->setText("密码不一致");}
}void Widget::on_lineEdit_2_textEdited(const QString &arg1)
{(void) arg1;compare();
}

显示密码

插入个屁
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->label->setText("请输入密码");ui->lineEdit->setPlaceholderText("第一次输入密码");ui->lineEdit_2->setPlaceholderText("第二次输入密码");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;compare();
}void Widget::compare()
{const QString t1 = ui->lineEdit->text();const QString t2 = ui->lineEdit_2->text();if(t1.isEmpty() && t2.isEmpty()){ui->label->setText("密码为空");}else if(t1 == t2){ui->label->setText("密码一致");}else{ui->label->setText("密码不一致");}
}void Widget::on_lineEdit_2_textEdited(const QString &arg1)
{(void) arg1;compare();
}void Widget::on_checkBox_1_toggled(bool checked)
{if(checked){ui->lineEdit->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit->setEchoMode(QLineEdit::Password);}
}void Widget::on_checkBox_2_toggled(bool checked)
{if(checked){ui->lineEdit->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit->setEchoMode(QLineEdit::Password);}
}

这篇关于9_3_LineEdit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134773

相关文章

一文看明白QML输入框的动画制作Python PySide6 Qt6 QML LineEdit 输入框

1. 前言 本代码为扫地僧-smile原创, 废话不多说, 直接看效果图由于录制的这个GIF图掉帧严重, 实际动画效果非常细腻 2.看代码 控件模块代码如下 SmileLineEdit.qml import QtQuickimport QtQuick.Controls/* __author__: 扫地僧-smile */Rectangle {// 属性property int ti

qt开发-10_LineEdit

QLineEdit 小部件是一个单行文本编辑器。行编辑允许用户使用一组有用的编辑函数输入和 编辑一行纯文本。包括撤消和重做、剪切和粘贴以及拖放。通过更改行编辑的 echoMode(),它 还可以用作“只写”字段,用于输入如密码等. 创建好项目后,进入 ui 界面,在左边的控件我们找到 lineedit ,我们拿出两个做一个登录界面。 然后添加两个按钮进去,用于账号切换和登录确认。改

【Qt秘籍】[007]-LineEdit Pushbutton控件

Qt的中有着各种各样的控件,相较于传统C/C++的输出默认只能在控制台实现,Qt中可以有不同的接口实现各种不同的功能,下面我们将实现不同功能的输出 hello world! 标签Label 【Qt秘籍】[006]-Label实现Hello World程序-编程第一步-CSDN博客 编辑框LineEdit/TextEdit         在Qt中,用于输入和编辑文本的控件

qt环境下给lineEdit设置数值精度为0.5

在Qt环境中,要为`QLineEdit`控件设置数值输入的精度为0.5,即允许用户输入以0.5为步进单位的数值,通常并不直接通过`QLineEdit`本身来实现,因为`QLineEdit`默认用于接收任意文本输入。为了达到您的需求,您可以采取以下两种方法: 1. **使用QDoubleSpinBox替代**:    `QDoubleSpinBox`是一个专门用于输入浮点数的控件,它提供了精度控制

qt 翻译默认控件得翻译 例如 lineEdit和qtextedit(本来就有翻译文件)

参考qt中qlineedit和qtextedit右键菜单翻译成中文_qlineedit菜单修改成中文-CSDN博客 翻译完成后把..ts中得 <context>     <name>QLineEdit</name>     <message>         <source>&amp;Undo</source>         <translation type="vanished">撤销(&

【已解决】c++ 如何给qt的lineEdit传入中文且不乱码

本博文源于笔者正在写的一个模块,需要给qt的linEdit传入中文,并且不会乱码,原本想着在初始化,也就是构造函数里写入ui.lineEdit->setText(“你好”);结果发现,显示出来是乱码,那怎么办啊。下面就以一个小demo为例,将这个问题进行拿捏。 问题来源 想要在lineEdit传入中文不乱码 问题解决方案 ui.lineEdit->setText("你好");ui.lin