QT中几个函数的使用方法
2024-03-24 05:43:01
一、把字符串转换成整形
demo1:
QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16); // hex == 255, ok == true
int dec = str.toInt(&ok, 10); // dec == 0, ok == false
demo2:
bool ok;
QString line = "123";
int line1 = line.toInt(&ok); //把字符串“123”转换成整形的123
二、把整形转换成字符串
demo1:
long a = 63;
QString s = QString::number(a, 16); // s == "3f"
QString t = QString::number(a, 16).toUpper(); // t == "3F"
demo2:
int line4 = 123;
QString line4_4;
line4_4 = QString::number(line4); //把整形的123转换成字符串的"123"
三、获取输入对象中的字符串
QString line2 = ui->line1->text();
//line1为输入对象,把line1中的字符串保存在line2中
四、设置输入对象中的字符串
ui->line4->setText("hello");
//输入框中显示"hello"
使用例子:根据输入的运算符号进行两个数的加减乘除运算,让后点击一下按钮自动进行运算。
头文件:mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMainWindow> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT public:
explicit MainWindow(QWidget *parent = );
~MainWindow(); private slots:
void on_jieguo_clicked(); //槽函数,不懂的话可以看看我这篇的QT中槽的使用 private:
Ui::MainWindow *ui;
}; #endif // MAINWINDOW_H
源文件:mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <crtdefs.h>
#include <limits.h>
#include <stdlib.h>
#include <stdio.h> MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//建立槽连接
connect(ui->jieguo,SIGNAL(clicked(bool)),this,SLOT(MainWindow::on_jieguo_clicked()));
} MainWindow::~MainWindow()
{
delete ui;
} void MainWindow::on_jieguo_clicked()
{
QString line1 = ui->line1->text();//读出输入到line1中的字符串
QString line2 = ui->line2->text();
QString line3 = ui->line3->text();
QString line5; bool ok;
int line4_4 = ;
int line1_1;
int line3_3;
line1_1 = line1.toInt(&ok); //把字符转换成整形
line3_3 = line3.toInt(&ok);
if(!ok)
{
return;
}
else if(line2 == "+")
{
line4_4 = line1_1 + line3_3;
} else if(line2 == "-")
{
line4_4 = line1_1 - line3_3;
} else if(line2 == "*")
{
line4_4 = line1_1* line3_3;
} else if(line2 == "/")
{
if(line3_3 != )
{
line4_4 = line1_1 / line3_3;
}
else
{
line4_4 = ;
} }
ui->line4->setText(QString::number(line4_4));//QString::number把整形转化成字符
line5 = ui->line4->text();
qDebug()<<line5;
}
界面文件如下:
最新文章
- Linux与Windows 解压乱码 UTF8BOM读取问题
- cocos2dx jsoncpp
- HDU-2571命运
- 【转】 基于TFTP协议的远程升级设计
- DB 注意事项 优化数据库查询
- $_FILES数组为空的原因
- [bzoj4755][Jsoi2016]扭动的回文串
- 【webpack系列】从零搭建 webpack4+react 脚手架(四)
- 理解 Memory barrier(内存屏障)无锁环形队列
- MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
- pycharm 中自动补全代码提示前符号 p,m ,c,v, f 是什么意思
- ORA-00257 archiver error. 错误的处理方法
- Chapter3_操作符_别名机制
- React Native 异步存储
- ubuntu下上传本地代码到github
- java 继承 初始化顺序
- poj_3662 最小化第k大的值
- 线程不安全的类不要轻易做为static变量使用,及如何使用ThreadLocal将共享变量变为独享变量
- BZOJ4888 Tjoi2017异或和(树状数组)
- 「Linux+Django」Django+CentOs7+uwsgi+nginx部署网站记录
热门文章
- warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- Django框架中的model(操作数据库)
- 51Nod 1110 距离之和最小 V3 中位数 思维
- codeforces 883M. Quadcopter Competition 思路
- 玲珑学院-ACM比赛1014 - Absolute Defeat
- “玲珑杯”ACM比赛 Round #22 E 	贪心,脑洞
- 转载 Mysql安装过程
- SSRS Fields cannot be used in page headers or footers
- webpack+babel项目在IE下报Promise未定义错误引出的思考
- nginx+redis缓存微信的token数据