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

h5作品网站镇江市网站

h5作品网站,镇江市网站,连云港专业网站制作公司,微信手机网站源码目录 一、QLineEdit 属性 二、QTextEdit 属性 三、QComboBox 属性 四、QSpinBox 属性 五、QDateTimeEdit 属性 六、QDial 属性 七、QSlider 属性 在上一篇介绍完显示类控件后,本文介绍常见的输入类控件。 一、QLineEdit QLineEdit表示一个单行输入框…

目录

一、QLineEdit

属性

二、QTextEdit

属性

三、QComboBox

属性

四、QSpinBox

属性

五、QDateTimeEdit

属性

六、QDial

属性

七、QSlider

属性


在上一篇介绍完显示类控件后,本文介绍常见的输入类控件。

一、QLineEdit

QLineEdit表示一个单行输入框,可以输入文本,但是无法换行。

属性

  •  这些属性比较枯燥,还是要看在具体代码中的实现,实现一个程序,来让用户输入个人信息。

    //设置姓名输入框ui->lineEdit_name->setFrame(true);ui->lineEdit_name->setPlaceholderText("请输入姓名");ui->lineEdit_name->setClearButtonEnabled(true);//设置密码输入框ui->lineEdit_password->setFrame(true);ui->lineEdit_password->setPlaceholderText("请输入密码");ui->lineEdit_password->setClearButtonEnabled(true);//设置密码隐藏ui->lineEdit_password->setEchoMode(QLineEdit::Password);//设置性别//设置电话ui->lineEdit_phone->setFrame(true);ui->lineEdit_phone->setPlaceholderText("请输入电话");ui->lineEdit_phone->setClearButtonEnabled(true);//电话有格式限制ui->lineEdit_phone->setInputMask("000-0000-0000");

  • InputMask所提供的限制十分有限,为了更好的约束输入,Qt提供了验证器,此处可以利用正则表达式来验证用户输入的电话号码是否合法,如果不合法,则提交按钮不能启用,如果合法,则可以点击提交按钮。

QRegExp regexp(R"(^1\d{10}$)");
ui->lineEdit_phone->setValidator(new QRegExpValidator(regexp));

^1表示字符串必须以1开头

\d表示数字

{10}表示\d重复10次

$表示结尾

由于这里用了RawString,所以不用对\d转义 

//当输入框中输入内容后,触发信号的槽函数
void Widget::on_lineEdit_phone_textEdited(const QString &arg1)
{//在槽函数中验证输入内容和正则表达式是否匹配成功QString text = arg1;int pos;//第二个参数是输出型参数,当匹配失败的时候,返回从哪个位置开始匹配失败的if(ui->lineEdit_phone->validator()->validate(text,pos) ==QValidator::Acceptable ){ui->pushButton_submit->setEnabled(true);}elseui->pushButton_submit->setEnabled(false);}

  • 编写代码,实现密码输入的二次确认,如果不一致,就显示两次输入密码不一致。

void Widget::Compare()
{QString s1 = ui->lineEdit_password->text();QString s2 = ui->lineEdit_passwordAgain->text();if(s1.isEmpty() && s2.isEmpty()){ui->label_dispaly->setText("您输入的密码为空");return;}if(s1 == s2){ui->label_dispaly->setText("输入的密码一致");}else{ui->label_dispaly->setText("输入的密码不一致");}return;
}
void Widget::on_lineEdit_password_textEdited(const QString &arg1)
{(void)arg1;this->Compare();
}void Widget::on_lineEdit_passwordAgain_textEdited(const QString &arg1)
{(void)arg1;this->Compare();
}

  • 再实现一个功能,切换密码的显示状态,密码默认是隐藏的,可以点击显示按钮来切换。

void Widget::on_checkBox_toggled(bool checked)
{if(checked){ui->lineEdit_password->setEchoMode(QLineEdit::Normal);ui->lineEdit_passwordAgain->setEchoMode(QLineEdit::Normal);}else{ui->lineEdit_password->setEchoMode(QLineEdit::Password);ui->lineEdit_passwordAgain->setEchoMode(QLineEdit::Password);}
}

二、QTextEdit

属性

常用信号

  • 获取QTextEdit中的内容

void Widget::on_textEdit_textChanged()
{const QString& content = ui->textEdit->toPlainText();qDebug() << content;
}

  • 验证输入框的信号 

void Widget::on_textEdit_selectionChanged()
{const QTextCursor& cursor = ui->textEdit->textCursor();qDebug() << "[selectionChanged] " << cursor.selectedText();
}

void Widget::on_textEdit_cursorPositionChanged()
{const QTextCursor& cursor = ui->textEdit->textCursor();qDebug() << "[cursorPositionChanged] " << cursor.position();
}

三、QComboBox

下拉框

属性

  • 核心方法

  • 核心信号 

  • 给下拉框添加条目 

ui->comboBox->addItem("巨⽆霸");
ui->comboBox->addItem("⻨辣鸡腿堡");ui->comboBox_2->addItem("薯条");
ui->comboBox_2->addItem("⻨辣鸡翅");ui->comboBox_3->addItem("可乐");
ui->comboBox_3->addItem("雪碧");

四、QSpinBox

属性

  • 核心信号 

ui->spinBox->setRange(1,5);//设置范围
ui->spinBox->setValue(3);//设置初始值

五、QDateTimeEdit

属性

  • 核心信号

  • 获取两个日期直接的差 

//获取到两个时间框的时间⽇期
QDateTime timeOld = ui->dateTimeEdit_old->dateTime();
QDateTime timeNew = ui->dateTimeEdit_new->dateTime();
// 计算⽇期差值
int days = timeOld.daysTo(timeNew);
int hours = (timeOld.secsTo(timeNew) / 3600) % 24;

六、QDial

表示一个旋钮

属性

  • 核心信号

编写程序,拖动旋钮来改变窗口不透明度

// 设置可以循环旋转ui->dial->setWrapping(true);// 设置刻度线可⻅ui->dial->setNotchesVisible(true);// 设置最⼤值为ui->dial->setMaximum(100);// 设置最⼩值为ui->dial->setMinimum(0);// 设置初始值为ui->dial->setValue(100);

void Widget::on_dial_valueChanged(int value)
{
ui->label->setText(QString("当前不透明度为: ") + QString::number(value));
this->setWindowOpacity((double)value / 100);
}

七、QSlider

表示一个滑动条。

QSlider和QDial都是继承自QAbstractSlider,用法类似。

属性

 核心信号

  •  编写程序,实现两个滑动条,一个水平、一个垂直,拖动可以改变窗口的大小。

    ui->horizontalSlider->setMinimum(100);ui->horizontalSlider->setMaximum(2000);ui->horizontalSlider->setValue(800);ui->horizontalSlider->setSingleStep(500);ui->verticalSlider->setMinimum(100);ui->verticalSlider->setMaximum(1500);ui->verticalSlider->setValue(600);ui->verticalSlider->setSingleStep(300);

void Widget::on_horizontalSlider_valueChanged(int value)
{QRect rect = this->geometry();this->setGeometry(rect.x(),rect.y(),value,rect.height());
}void Widget::on_verticalSlider_valueChanged(int value)
{QRect rect = this->geometry();this->setGeometry(rect.x(),rect.y(),rect.width(),value);
}

  • 用快捷键增加或减少滑动条的值

void Widget::on_horizontalSlider_valueChanged(int value)
{QString s = QString::number(value);ui->label->setText("当前值为"+s);
}

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QShortcut* shortCut1 = new QShortcut(this);shortCut1->setKey(QKeySequence("-"));QShortcut* shortCut2 = new QShortcut(this);shortCut2->setKey(QKeySequence("="));//按下快捷键,发出信号,执行槽函数connect(shortCut1,&QShortcut::activated,this,&Widget::subValue);connect(shortCut2,&QShortcut::activated,this,&Widget::addValue);}void Widget::addValue()
{int v = ui->horizontalSlider->value();ui->horizontalSlider->setValue(v+5);
}void Widget::subValue()
{int v = ui->horizontalSlider->value();ui->horizontalSlider->setValue(v-5);
}
http://www.dtcms.com/wzjs/224762.html

相关文章:

  • 做算命网站挣钱吗百度保障中心人工电话
  • 多个织梦dedecms网站怎么做站群万网创始人
  • 网站建设用什么软件百度推广代理商有哪些
  • 大城县有做网站的吗网站搭建费用
  • 网站建设代理网站360优化大师软件
  • 政府网站做3屏适配百度应用搜索
  • 做鞋子批发网站产品推广怎么做
  • 做网站推广 需要ftp成都网站快速开发
  • 揭阳网站制作方案定制广州seo团队
  • 广州市人民政府办公室新闻发布会手机优化大师下载2022
  • 成都网站建设优化建网站需要多少钱
  • 自己做qq头像网站网络整合营销推广
  • 网站建设这个工作怎么样手机制作网站的软件
  • 怎么给网站做推广百度一下百度首页
  • 做网站用啥语言企业网站建设制作
  • 湘潭电大网站seo人员的职责
  • 邢台做网站服务商灯塔seo
  • wordpress网站速度慢青岛百度网站排名优化
  • 做口腔科网站重庆百度
  • 济宁做网站公司国内最新的新闻
  • 镇江网站推广打开网址资料网站
  • 网站定制开发要多少钱互联网营销师国家职业技能标准
  • 社区居委会网站建设方案中小企业网站
  • 山东平台网站建设价格南京seo优化公司
  • 申请园区网站建设经费的请示网站策划方案范文
  • 科讯网站模版网网站制作的重要性及步骤详解
  • 常州网页定制seo服务商排名
  • vs和sql怎么做网站怎样进行seo优化
  • 桂林新闻优化设计三年级下册数学答案
  • 沧州南皮网站建设公司国内seo公司排名