Qt QLineEdit 漂亮的搜索框 && 密码模式 && 格式化输入 && 提示文字 && 选择内容并移动 && 清除全部输入

时间:2022-05-22 09:33:39

先上一个漂亮的搜索框效果图, 输入搜索文本效果, 点击搜索图标效果:

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

//实现代码
void MainWindow::iniLineEdit()
{
  ui->lineEdit->setPlaceHolderText(QObject::tr("搜索文本));
QAction * contentAct = new QAction(this);
contentAct->setIcon(QIcon(":/image/文本.png"));
ui->lineEdit->addAction(contentAct, QLineEdit::LeadingPosition); QAction * operateAct = ui->lineEdit->addAction(QIcon(":/image/搜索.png"), QLineEdit::TrailingPosition);
connect(operateAct, SIGNAL(triggered(bool)), this, SLOT(slotOperateActTrigged())); } void MainWindow::slotOperateActTrigged()
{
ui->label->setText(QObject::tr("you search content is %1").arg(ui->lineEdit->text()));
}

图片资源:

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入   、   Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

密码模式, 类似mysql输入密码不显示模式,输入显示为小黑圆圈模式效果,焦点移动到别的部件后显示为小黑圆圈模式效果:

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

//类似于mysql输入密码效果
ui->lineEdit->setEchoMode(QLineEdit::NoEcho);
//ui->label->setText(QObject::tr("you have input %1").arg(ui->lineEdit->text())); 这种方式取不到lineEdit里面的内容
connect(ui->lineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotLineEditTextChanged(QString)));
void MainWindow::slotLineEditTextChanged(QString text)
{
ui->label->setText(QObject::tr("you have input %1").arg(text));
} //密码小黑圆圈效果
ui->lineEdit->setEchoMode(QLineEdit::Password);
connect(ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(slotLineEditEditingFinished()));
void MainWindow::slotLineEditEditingFinished()
{
ui->label->setText(QObject::tr("you have input %1").arg(ui->lineEdit->text()));
} //输入时正常显示,失去焦点时,显示为小黑圆圈
ui->lineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);

文字提示效果:

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

ui->lineEdit->setPlaceholderText(QObject::tr("你好..."));

格式化输入效果, 输入ip地址效果,MAC地址效果,日期输入效果,license输入效果:

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

ui->lineEdit->setInputMask("000.000.000.000");
ui->lineEdit->setInputMask("000.000.000.000;$");

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

清空全部输入, 选择内容并移动(被选择的内容移动到新的地方后,原来的地方任然还有该内容)

Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入Qt  QLineEdit 漂亮的搜索框  && 密码模式  &&  格式化输入  &&  提示文字 && 选择内容并移动 && 清除全部输入

    ui->lineEdit->setPlaceholderText(QObject::tr("搜索文本"));
ui->lineEdit->setClearButtonEnabled(true); //清除全部输入
ui->lineEdit->setDragEnabled(true);//移动选择内容