Qt之QLineEdit

1.概述

QLineEdit允许用户输入和编辑单行纯文本。本文主要介绍QLineEdit的几个常用功能。
1.介绍文本框的样式
2.设置文本框是否可编辑
3.设置文本框的显示和隐藏
4.设置密码文本框
5.设置文本框文本对齐
6.设置文本框图标,采用验证器验证用户输入手机号
7.介绍QLineEdit的6种信号槽
QLineEdit功能验证实现如下图所示:
在这里插入图片描述

2.实现过程

2.1新建MyLineEdit类

新建MyLineEdit类,继承自QLineEdit类,封装文本框样式和文本框边框显隐方法。
(1)MyLineEdit.h

#ifndef MYLINEEDIT_H
#define MYLINEEDIT_H

#include <QLineEdit>
#include <QAction>
class MyLineEdit : public QLineEdit
{
   
public:
    MyLineEdit(QWidget *parent = 0);

    //隐藏边框
    void HideBorder(bool isHide = true);

    //设置文本框样式
    QString setLineEditQss(int radius = 3,                                    //圆角半径
                                  int borderWidth = 2,                        //边框大小
                                  const QString &normalColor = "#DCE4EC",     //正常颜色
                                  const QString &focusColor = "#34495E",      //选中颜色
                                  const QString iconPath = "");
};

#endif // MYLINEEDIT_H

(2)MyLineEdit.cpp

#include "mylineedit.h"

MyLineEdit::MyLineEdit(QWidget *parent):QLineEdit(parent)
{
   

}

void MyLineEdit::HideBorder(bool isHide)
{
   
    if(isHide)
        setStyleSheet("board-width:0;border-style:outset");
    else
        setLineEditQss(5,2,"#DCE4EC","#34495E");
}

QString MyLineEdit::setLineEditQss(int radius, int borderWidth,
                                  const QString &normalColor,
                                  const QString &focusColor,
                                  const QString iconPath)
{
   
    QStringList list;
    list.append(QString("QLineEdit{border-style:none;padding:3px;border-radius:%1px;border:%2px solid %3;}")
                .arg(radius).arg(borderWidth).arg(normalColor));
    list.append(QString("QLineEdit:focus{border:%1px solid %2;}")
                .arg(borderWidth).arg(focusColor));

    QString qss = list.join("");
    setStyleSheet(qss);

    if(iconPath != "")
    {
   
        QAction *action = new QAction(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值