Qt学习笔记(三)_Qstring字符串和数值之间转换2022.1.9

on_btnAppend_clicked()

不用连接信号和槽,写完函数就有点击运行的功能,但是on_后必须是按钮名称才有效。

效果

在这里插入图片描述
在这里插入图片描述

代码

sample4_1.h

#pragma once

#include <QtWidgets/QWidget>
#include "ui_sample4_1.h"

class sample4_1 : public QWidget
{
	Q_OBJECT

public:
	sample4_1(QWidget *parent = Q_NULLPTR);
	
public slots:
	virtual void on_btnCal_clicked();
	virtual void on_btnDec_clicked();
	virtual void on_btnBin_clicked();
	virtual void on_btnAppend_clicked();
	virtual void on_btnCount_clicked();
	virtual void on_btnEndWith_clicked();
private:
	Ui::sample4_1Class ui;
};

sample4_1.cpp

#include "sample4_1.h"

sample4_1::sample4_1(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
	//connect(ui.btnCal, SIGNAL(clicked()), this, SLOT(on_pushButton_clicked()));
	connect(ui.btnDec, SIGNAL(clicked()), this, SLOT(on_btnDec_clicked()));
	connect(ui.btnBin, SIGNAL(clicked()), this, SLOT(on_btnBin_clicked()));

}

void sample4_1::on_btnCal_clicked()//控件里是字符串,要先转换成数值才能进行计算
{
	QString str = ui.editNum->text();
	int num = str.toInt();//字符串转换成整型数值
	str = ui.editPrice->text();
	float price = str.toFloat();//字符串转换成浮点型数值
	float total = num * price;
	str = str.setNum(total, 'f', 2);//数值转换成字符串
	ui.editTotal->setText(str);

}

void sample4_1::on_btnDec_clicked()
{
	QString str = ui.editDec->text();
	int value = str.toInt();//转换为整型
	str = str.setNum(value, 2);//转换为二进制
	ui.editBin->setText(str);
	str = str.setNum(value, 16);//转换为16进制
	ui.editHex->setText(str.toUpper());

}

void sample4_1::on_btnBin_clicked()
{
	QString str = ui.editBin->text();
	bool ok;
	int value = str.toInt(&ok, 2);//转换成二进制整型
	ui.editDec->setText(QString::number(value));//二进制转换为十进制
	ui.editHex->setText(QString::number(value, 16). toUpper());//二进制转换为16进制,大写

}

void sample4_1::on_btnAppend_clicked()
{
	QString str1, str2;
	str1 = ui.comboBox1->currentText();
	str2 = ui.comboBox2->currentText();
	ui.lineEdit_3->setText(str1.append(str2));//字符串str1、str2相加

}

void sample4_1::on_btnCount_clicked()//点击count
{
	QString str1 = ui.comboBox1->currentText();
	ui.spinBox->setValue(str1.count());
	ui.label_10->setText("count()");//字符串str1长度计数
}

void sample4_1::on_btnEndWith_clicked()//点击endWith 
{
	QString str1, str2;
	str1 = ui.comboBox1->currentText();
	str2 = ui.comboBox2->currentText();
	ui.checkBox->setChecked(str1.endsWith(str2));//判断str1是不是以str2结尾
}

笔记

P14

在这里插入图片描述

P15在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值