Qt 格式转换问题 记录(好多方法)

用Qt经常头痛于一些格式不能通用的问题

在此记录备用

1 (20120112)QString转为Char *

QString *str;

char *a;

str="hello word ! "

a=str->toLatin1().data();

2  字符串中输入变量

char a[64];//定义时直接分配空间

int temp = 50;

sprintf(a,"the value is %04d",temp);

结果为a[]="the value is 0050\0"

以下为转自sina小洋(http://blog.sina.com.cn/s/blog_62ec29160100m7y5.html),谢谢作者整理

char * 与 const char *的转换
char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不报错,但有警告
ch1 = (char *)ch2;

char 转换为 QString
其实方法有很多中,我用的是:
char a=‘b‘;
QString str;
str=QString(a);

QString 转换为 char
方法也用很多中
QString str="abc";
char *ch;
ch = str.toLatin1.data();

QByteArray 转换为 char *
char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();

char * 转换为 QByteArray
char *ch;
QByteArray byte;
byte = QByteArray(ch);

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);

int 转 QString
int a=10;
QString b;
b=QString::number(a)

QString 转int
QString a="120"
int b;
b=a.toInt()
char * 与 const char *的转换
char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不报错,但有警告
ch1 = (char *)ch2;

char 转换为 QString
其实方法有很多中,我用的是:
char a=‘b‘;
QString str;
str=QString(a);

QString 转换为 char
方法也用很多中
QString str="abc";
char *ch;
ch = str.toLatin1.data();

QByteArray 转换为 char *
char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();

char * 转换为 QByteArray
char *ch;
QByteArray byte;
byte = QByteArray(ch);

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);

int 转 QString
int a=10;
QString b;
b=QString::number(a)

QString 转int
QString a="120"
int b;
b=a.toInt()

另一个

1 QString --> string

QString.toStdString();

2 string --> QString

QString::fromStdString(string)

3 QString --->int,double,char *

QString::toInt()

QString::toDouble()

QString.toStdString().c_str();

4 int double char* --->string

可以采用<sstream>里的stringstream

以int 为例,int a = 3;

stringstream ss;

string strInt;

ss<<a;

ss>>strInt;

其他两个一样。

5 int double char*装QString

http://blog.csdn.net/yh_1988/article/details/7190356

时间: 2024-10-07 07:38:36

Qt 格式转换问题 记录(好多方法)的相关文章

js时间格式转换的几种方法

公司项目需要获取时间并且转换格式,之前没有实现过但读过源码,新来的小哥给我讲了下细节.算是学到了..... 1 function getLocalTime(){ 2 var now=new Date(); 3 var year=now.getFullYear(); 4 var moth=now.getMonth()+1; 5 if(month<10){ 6 moth="0"+month; 7 } 8 var date=now.getDate(); 9 if(date<10)

腾讯视频qlv格式转换mp4普通视频方法

先到为的电脑里打开,点击"计算机"---"工具"---"文件夹选项"   找到"查看"--"隐藏文件夹",选择显示   腾讯视频,搜索你要的视频,等待他缓冲完成,点击右上角的"箭头"按钮,倒数第三个,然后选择设置   在"设置"中选择"下载设置",查看如下图所示的视频播放缓存记录存储位置,并通过电脑找到此目录.   从我的电脑进入目录后,按下图所示

QSV文件怎么打开,QSV快速转换成MP4的方法!

使用过爱奇艺客户端下载视频的朋友都应该了解,从客户端下载下来的视频文件非常的特殊,为什么说很特殊呢,原因是,爱奇艺视频采用的高清加密的qsv格式,采用这个视频格式其实除去保护文件的版权之外,还有一种就是经营策略,这种qsv格式的文件只能在爱奇艺客户端进行播放,任何其他播放器都无法打开,不得不说,提出这个格式的人还真的挺聪明的哈.   视频转换器www.xunjieshipin.com/download-converter 方法步骤: 俗话说的好,上有政策.下有对策.你有qsv格式,我有qsv格式

Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)

一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载,MySQL官网下载地址:http://www.mysql.com/downloads/installer/ 2.安装时,会提示安装.netFramework4环境,这里提供一个下载链接:http://dldx.csdn.net/fd.PHP?i=537939463366842&s=17682a852

坐标格式提取转换的两种方法C#、Excel

一.引言 受朋友之托,处理一份点云数据,格式:“X[m]  Y[m]  Z[m]  R[dB]  G[dB]  B[dB]”,总共63w个点,转换成的格式是:“点名,,X[m], Y[m], Z[m]”.如果经常有坐标文件转换就使用代码方法,偶尔使用的话就使用Excel.用Excel的话,直接把后缀名改成.xlsx,接下来就是对整列进行插入.更改等事情了,最后另存为txt格式或者dat格式. 二.知识准备 1.文件读写 2.字符串处理 三.需要注意的地方 1.60几万个点,数据量还行,所以思路和

iSkysoft iMedia Converter Deluxe Mac如何制作视频?视频格式转换工具制作动图的方法

使用iSkysoft iMedia Converter Deluxe Mac如何制作视频?使用视频格式转换工具,你可以轻松进行动图或视频的制作,也可以把你喜欢的视频的某一段提取出来,制作成你自己风格的视频,功能强大,使用简单,下面Mac down 小编就为大家介绍一下视频格式转换工具制作动图的方法,希望能够对你有所帮助. https://www.macdown.com 首先下载iSkysoft iMedia Converter Deluxe Mac视频格式转换工具. 来本站Mac down.co

canvas压缩、裁切图片和格式转换的方法

按照大小压缩图片,或者按照特定分辨率裁切图片,转为blob数据.自动处理ios中可能存在的照片偏差90°问题. 例如,获取300*300大小的头像,实现以下效果: 使用方式: <!-- 引入js文件 --> <script type="text/javascript" src="./compressImage.js"></script> <!-- input标签 --> <input type="fil

音乐格式怎么转换,音频格式转换的方法

今天所说的是教大家如何转换音频.音乐格式.在生活中我们会听到一些比较好听的歌曲,我们经常会将这些好听的歌曲给下载下来.然而有的时候我们会惊奇地发现某些音乐的格式很奇怪,是一些自己没有见过的音频格式,而且许多的播放器不支持播放,这个时候或许会让你们感到头疼,其实碰到这些比较少见的音频格式的时候我们完全没有必要头疼,将其转换成我们比较常见的mp3格式就行了,那么怎么进行转换呢?看看下面的教程吧. 音频转换器https://www.xunjieshipin.com/download-audioedit

Oracle- 日期格式转换

to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错.即按照第二个参数的格式解释第一个参数. to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换. to_char转换的格式: 表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年 表示month的:mm 用2位数字表示月:mon 用简写形式 比如11月或者nov :month 用