【QT】常用控件|QLineEdit|QTextEdit|QComBox|QSpinBox|QDateTimeEdit|计算日期差值|点餐份数|读取文件下拉框(万字详解版)

目录

QLineEdit

基本功能和用法 

核心信号

核心信号

示例

槽函数

 优化:使用正则表达式

验证器 

槽函数

验证密码 

切换显示密码 

 QTextEdit

 核心属性

示例

 验证信号

QComBox

主要特点和用法:

核心属性

核心方法 

核心信号 

示例

 识取文件

 QSpinBox

示例

 QDateEdit&QTimeEdit

示例

 实现日期计算器

 QDial

示例


 

QLineEdit

表示单行输入,输入一段文本,但是不能换行;

用于接收用户输入的文本信息。

基本功能和用法 

属性 作用
text 输入框的文本
inputMask 输入内容格式的约束
echoMode

显示方式:

QLineEdit::Normal:默认值,文本框显示输入的文本;

QLineEdit::password:密码模式,输入的字符会被隐藏;

                                  通常用 * 或 = 替代隐藏;

QtLineEdit::Noecho:该模式,文本框输入后不会显示输入字符

placeHolderText 当输入框为空时,显示提示信息
clearButtonEnabled 是否自动显示出"清除按钮",一键清除文本框的内容

核心信号

属性 说明
void editingFinished() 按回车键时发出此信号
void returnPressed()
当按下回车键时发出此信号 如果设置了验证器,必须要验证通过,才能触发
void selectionChanged() 当选中的文本改变时,发出此信号。

void textChanged(const QString &text)
QLineEdit中的文本改变时,发出此信号,text是新的文本。 代码对文本的修改能够触发这个信号
void textEdited(const QString &text)) 当QLineEdit中的文本改变时,发出此信号,text是新的文本。 代码对文本的修改不能触发这个信号
void cursorPositionChanged(int old,int new) 当鼠标移动时发出此信号,old为先前的位置,new为新位置

核心信号

信号 说明
textChanged() 文本内容改变时触发
selectionChanged() 选中范围改变时触发
cursorPositionChanged() 光标移动时触发
undoAvailable(bool) 可以进行undo操作时触发
redoAvailable(bool) 可以进行redo操作时触发
copyAvailable(bool) 文本被选中/取消选中时触发

示例

按照下图在Qt Designer中创建,依作用命名

 对LineEdit输入框为空时,显示输入提示信息

    //当输入框为空时,显示提示信息
    ui->lineEdit_name->setPlaceholderText("请输入名字");
    ui->lineEdit_password->setPlaceholderText("请输入密码");
//    ui->lineEdit_phone->setPlaceholderText("请输入电话");

密码会显示出现,设置隐藏密码文本框 

   //输入密码,遮蔽隐藏
    ui->lineEdit_password->setEchoMode(QLineEdit::Password);

 

添加一键清除按钮,快捷所需操作,

同时添加对密码文本框限制输入格式,按照电话344格式设置;

    //清除按钮
    ui->lineEdit_name->setClearButtonEnabled(true);
    ui->lineEdit_password->setClearButtonEnabled(true);
    ui->lineEdit_phone->setClearButtonEnabled(true);

    //限制输入格式
   ui->lineEdit_phone->setInputMask("000-0000-0000");

槽函数

对PushButton按钮对象添加槽函数,在输入各种信息完毕后,打印text;

void Widget::on_pushButton_clicked()
{
    //按钮槽函数,显示打印QLineEdit->text

    QString gender = ui->radioButton_male->isChecked()?"男":"女";
    qDebug()<<"姓名: "<<ui->lineEdit_name->text()
           <<"密码: "<<ui->lineEdit_password->text()
          <<"性别: "<<gender
          <<"电话是: "<<ui->lineEdit_phone->text();

//    if(ui->radioButton_male->isChecked())
//    {
//        qDebug()<<"性别: "<<ui->radioButton_male->text();
//    }
//    else
//    {
//        qDebug()<<"性别: "<<ui->radioButton_female->text();
//    }
}

 优化:使用正则表达式

要求输入框输入一个合法的电话号码(1开头,11位,全部为数字),如果验证不通过,按钮无法点击

验证器 

验证器(Validator)是一种用于确保用户输入数据符合特定格式或规则的组件;

例如:

        一个整数验证器可以确保用户输入的是有效的整数

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值