1、char * 与 const char *的转换
char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不报错,但有警告
ch1 = (char *)ch2;
2、char 与 QString的转换
char 转换为 QString
其实方法有很多中,我用的是:
char a='b';
QString str;
str=QString(a);
QString 转换为 char
方法也有很多种
QString str="abc";
char *ch;
QByteArray ba = str.toLatin1()
ch = ba.data();
注意:在调用QByteArray.data()之前,必须要先显示储存这个bytearray。像这样const char *ch = str.toLatin1().data();会使程序崩溃,因为QByteArray没有被储存,调用data()前是不存在的,必须先显式调用一次toLatin1(),再调用data()。
3、QByteArray 与 char* 的转换
QByteArray 转换为 char *
char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();
char * 转换为 QByteArray
char *ch;
QByteArray byte;
byte = QByteArray(ch);
4、QString 与 QByteArray 的转换
QString转换为QByteArray
QByteArray byte;
QString string;
byte = string.toAscii();
QByteArray 转换为 QString
QByteArray byte;
QString string;
string = QString(byte);
这里再对这俩中类型的输出总结一下:
qDebug()<<"print";
qDebug()<<tr("print");
qDebug()<<ch;(ch 为char类型)
qDebug()<<tr(ch);
qDebug()<<byteArray;(byteArray是QByteArray类型)
qDebug()<<tr(byteArray);
qDebug()<<str;(str 为Qstring类型)
但是qDebug()<<tr(str);是不可以的,要想用tr()函数输出QString类型的字符则要如下:
qDebug()<<tr(str.toLatin1);
5 、int与 QString 的转换
int 转 QString
int a=10;
QString b;
b=QString::number(a)
QString 转int
QString a="120"
int b;
b=a.toInt()
5、QString与string的转换
QString --> string
QString.toStdString();
string --> QString
QString::fromStdString(string)
6、QString与其他类型的转换
QString --->int,double,char *
QString::toInt()
QString::toDouble()
QString.toStdString().c_str();
7、 int double char* --->string
可以采用<sstream>里的stringstream
以int 为例,int a = 3;
stringstream ss;
string strInt;
ss<<a;
ss>>strInt;
8、QString--->QDateTime
QDateTime转QString
public QDateTime qdate = QDateTime.currentDateTime();
datetime = qdate.toString("yyyy年MM月dd日ddddhh:mm:ss");
//2012年03月-05日Monday13:48:55
QString转换成QDateTime
QDateTime dateTime2 = QDateTime::fromString("M1d1y9800:01:02",
"'M'M'd'd'y'yyhh:mm:ss");
9、QString -->Char*
Qstring 转换char*问题!
方法一:
QString qstr("hello,word");
const char * p = qstr.toLocal8Bit().data();
方法二:
const char *p = qstr.toStdString().data();
//转换过来的是常量
方法三:
QString str="abc";
char *ch;
QByteArray ba = str.toLatin1()
ch = ba.data();
或者
QString tmp = "test";
QByteArray text = tmp.toLocal8Bit();
char *data = new char[text.size() + 1]
strcpy(data, text.data());
delete [] data;
分享到:
相关推荐
### Qt中所有类型转换 在Qt开发环境中,类型转换是一项非常重要的技能,它涉及到Qt自身提供的数据类型与标准C++类型之间的相互转换。本文将详细阐述Qt中的各种类型转换方式,帮助开发者更好地理解和掌握Qt中不同...
关于QT和MFC类型转换 qstring cstring bstr qdatetime 转换
在Qt编程中,数据类型转换是非常常见的操作,尤其是在处理用户界面和数据交互时。这篇教程主要针对初学者,涵盖了Qt框架中的一些基本数据类型转换,包括字符串(QString)、整型(int)、浮点型(double)以及字符...
在本文中,我们将深入探讨如何在Linux环境下设计和实现一个基于Qt的图像格式转换器。Qt是一个跨平台的C++库,广泛应用于图形用户界面(GUI)开发,支持多种操作系统,包括Linux。图像格式转换器是软件开发中的一个...
### QT中各类型的转换 在QT开发环境中,数据类型的转换是一项非常重要的技能,尤其是在处理不同数据格式时。本文将详细介绍QT中各种类型之间的转换方法,包括但不限于`char*`与`QString`之间的转换、`QByteArray`与...
在IT开发中,数据转换是常见且至关重要的任务,特别是在涉及到不同编程库和框架时,如C、MFC(Microsoft Foundation Classes)和Qt。本文将详细介绍如何在这些环境之间进行字符串、字符、字符数组等数据类型的转换。...
### Qt数据类型的转换详解 #### 一、概述 在Qt框架中,经常需要对各种数据类型进行转换,以便更好地处理数据或与其他系统交互。本文将详细介绍Qt中的数据类型转换方法,包括基本的数据类型如字符串(`QString`)与...
QT各种数据类型的相互转换QT各种数据类型的相互转换
在实际应用中,我们可能需要在QT的QImage对象和OpenCV的Mat对象之间进行转换,以便结合两者的优点。本文将深入探讨如何在QT和OpenCV之间进行图像格式转换,以及这背后的原理和注意事项。 首先,让我们了解这两个...
总结来说,"Qt 进制转换案例Spin方法"涉及到的主要知识点包括:Qt的SpinBox控件,信号和槽机制,进制转换(包括二进制、八进制、十进制和十六进制),以及QString类和C++内置数据类型在进制转换中的应用。...
本篇将详细介绍如何在QT和OpenCV之间进行QImage与Mat对象的转换,以及OpenCV中的图像格式转换,特别是 mono8 格式。 首先,我们要理解QImage和Mat对象的差异。QImage是QT库中的图像表示方式,它支持多种颜色模式,...
本教程将深入探讨如何在Qt应用中加载和切换QM语言文件,以及如何进行各种数据类型的转换。 首先,QM文件是Qt用来存储翻译字符串的二进制格式,它是由QT Linguist工具生成的。加载QM文件主要通过QTranslator类来完成...
在处理中文字符和不同类型数据转换时,QT提供了多种方法。以下是针对标题和描述中涉及的QT字体转换和数据类型转换的详细说明: 1. QT中文显示: 在QT中,为了正确地显示中文字符,需要设置合适的文本编码。在`main...
在`mainwindow.cpp`中,可能会有一个函数用于处理用户的输入(可能是文本框或下拉菜单),选择进制类型,然后调用相应的转换函数。转换函数可能如下: ```cpp QString convertToBase(int value, int base) { ...
在Qt开发中,有时我们需要将整型数组转换为字符串,以便于显示或...以上就是Qt中关于整型数组转换为字符串以及字符串与各种数据类型之间转换的相关知识点。通过这些方法,你可以灵活地在Qt应用中处理不同类型的数据。
将`char*`类型的字符串转换为`QString`类型,通常使用`QString::fromUtf8()`或者通过`QTextCodec`来进行转换。 ```cpp char *pstr = "你好,世界!"; QString qstr = QString::fromUtf8(pstr); // 使用QString::...
总结,QT编程中处理下位机的16进制数据主要包括数据接收、解析、转换及显示四个步骤。通过QLineEdit控件,我们可以直观地在界面上呈现这些数据,为用户提供友好的交互体验。理解这些知识点对于任何涉及硬件通信和...
4. **批量转换**:源码应能处理大量点的坐标转换,通过循环或批处理操作,一次性将所有点从一个坐标系统转换到另一个。 5. **结果输出**:转换后的坐标将被保存到新的文件中,供用户进一步使用。 在实际应用中,...
在计算机科学中,数据通常以二进制形式存储和处理,包括浮点数。浮点数的表示方式遵循IEEE 754标准,它定义了如何用二进制表示单精度(32位...通过以上C++函数,我们可以实现这个转换,并将其应用到Qt或其他C++项目中。
在Qt框架中,数据类型之间的转换是常见的操作,特别是在处理网络通信、文件读写或界面交互时。本文主要探讨了如何在QString、QByteArray、int和double之间进行转换。了解这些转换方法对于编写Qt应用程序至关重要。 ...