Qt常用项目设计组件Qsting和spinBox介绍

1 字符串与输入输出–QString类

1.1 字符串与数值之间的转换

Qstring是Qt程序经常使用到的类,用于处理字符串,可以进行字符串和数字之间的转换,使用QLineEdit就可以实现数字量的输入与输出。
例:

在这里插入图片描述

void Widget::on_pushButton_jisuan_clicked()
    {
      QString str=ui->lineEdit->text();
  == int num=str.toInt();==
       str=ui->lineEdit_2->text();
 == float price=str.toFloat();==
       float total=num*price;
      str=str.sprintf("%.2f",total);
      ui->lineEdit_3->setText(str);
  }

一个简单的总价计算例子。标记即Qstring的字符串转换功能,还有如:
int toInt(bool ok = Q_NULLPTR, int base=10 ) const
long toLong(bool ok = Q_NULLPTR, int base=10 ) const
short toShort(bool ok = Q_NULLPTR, int base=10 ) const
uint toUint(bool ok = Q_NULLPTR, int base=10 ) const
ulong toUlong(bool ok = Q_NULLPTR, int base=10 ) const

1.2 进制转换

void Widget::on_btnDec_clicked()
{
//读取十进制转换为其他进制
Qstring str=ui->editDec->text();
int val=str . toInt(); //缺省为十进制
//str=Qstring::number(val,16);//转换为16进制字符串
str=str.setNum(val,16);//十六进制
str=str.toUpper();
ui->editHex->setText(str);

//。。。。。。。。。(此处省略2进制和8进制例子);
}

1.3 常用功能

  1. append()与prepend():append()在字符串的后边添加字符串;prepend()在字符串的前面添加字符串。
    Qstring str=“你”,str2=“好”;
    Qstring str3=str1;
    str1.append(str2); //str1=“你好”
    str3.prepend(str2); //str3=“好你”

  2. toUpper()将字符串内的字母全部转换为大写形式,toLower()将字母全部转换为小写形式。
    Qstring str1=“Ni Hao”";
    str2=str1.toUpper(); //“NI HAO”
    str2=str1.toLower(); //“ni hao”

  3. count() size()和length()都返回字符串的字符个数,三个函数相同,但字符串中如果有汉字,一个汉字算一个字符串;
    Qstring str1=“NI 好”;
    N=str1.count();//N=3;
    N=str1.size();//N=3;
    N=str1.length();//N=3;

  4. trimmed()和simplified()
    trimmed()去掉字符串首位的空格,simplified()不仅去掉首位空格,中间连续的空格也用一个空格替换。
    Qstring str1=" Are you Ok? ",str2;
    str2=str1.trimmed(); //“Are you Ok?”;
    str2=str1.simplified(); //“Are you Ok?”;

  5. indexOf()在自身字符串内查找参数字符串str出现的位置,参数 from 是开始查找的位置,Qt::CaseSensitivity cs参数指定是否区分大小写。
    int indexof(const Qstring &str, int from=0,Qt::CaseSensitivity cs=Qt::CaseSensitive ) const
    lastIndexOf()函数则是查找某个字符串最后出现的位置。
    Qstring str1=“G:\Qt5Book\Qt5.9Study\qw.cpp”;
    N=str1.indexof(“5.9”); //N =13
    N=str1.lastIndexof("\"); // N=21
    注意:“\”是转义字符,如果要找“\”,需要输入“ \ ”。

  6. isNull()和isEmpty()
    两个函数都是判读字符串是否为空,但是稍有差别,如果一个空字符串,只有“\0”,isNull()返回false,而isEmpty()返回true;只有未赋值的字符串,isNull()才返回true。
    Qstring只要赋值,就在字符串的末尾自动加上“\0”,所以只是要判断字符串内容是否为空,常用isEmpty()。

  7. contains()判断字符串内是否包含某个字符串
    Qstring str1=“G:\Qt5Book\Qt5.9Study\qw.cpp”;
    N=str1. contains(".cpp", Qt::CaseInsensitive); // N=true,不区分大小写
    N=str1. contains(".cpp", Qt::CaseSensitive); // N=false,区分大小写

  8. endsWith()判断是否以某个字符串结尾,startWith()判断是否以某个字符串开头。

  9. left()和right()
    left()表示从字符串中取左边多少个字符,right表示从字符串中取右边 多少个字符,
    Qstring str2, str1=“学生性别,男,1994-1-9,汉族,河南”;
    N=str1 . indexof(" , “); //N=4
    str2=str1.left(N); //str2=“学生姓别”
    N=str1.lastIndexof(”,"); //N=18
    str2=str1.right(str1.size()-N-1); //str2=“河南”,提取最后一个逗号之后的字符串

其他功能和具体内容可以查阅相关资料获取。

spinBox的使用

QSpinBox用于整数的显示和输入,一般显示十进制数,也可以显示二进制和十六进制数,而且可以在显示框增加前辍或后辍;
QDoubleSpinBox用于浮点数的显示和输入,用法如QSpinBox;

在这里插入图片描述

void Widget::on_pushButton_jisuan_clicked()
{
    int num=ui->spinBox->value();
    float price=ui->doubleSpinBox->value();
    float ttl=num*price;
    ui->doubleSpinBox_2->setValue(ttl);

}

常见用法如上图所示,当然也可以作为其他形式的数字显示。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值