char * 与 const char *的转换

char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不报错,但有警告
ch1 = (char *)ch2;
  • 1
  • 2
  • 3
  • 4

char 与 QString的转换

char 转换为 QString 
其实方法有很多中,我用的是:

char a='b';
QString str;
str=QString(a);
  • 1
  • 2
  • 3

QString 转换为 char 
方法也有很多种

QString str="abc";
char *ch;
QByteArray ba = str.toLatin1()
ch = ba.data();
  • 1
  • 2
  • 3
  • 4

注意:在调用QByteArray.data()之前,必须要先显示储存这个bytearray。像这样const char *ch = str.toLatin1().data();会使程序崩溃,因为QByteArray没有被储存,调用data()前是不存在的,必须先显式调用一次toLatin1(),再调用data()。

QByteArray 与 char* 的转换

QByteArray 转换为 char *

char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();
  • 1
  • 2
  • 3

char * 转换为 QByteArray

char *ch;
QByteArray byte;
byte = QByteArray(ch);
  • 1
  • 2
  • 3

QString 与 QByteArray 的转换

QString转换为QByteArray

QByteArray byte;
QString string;
byte = string.toAscii();
  • 1
  • 2
  • 3

QByteArray 转换为 QString

QByteArray byte;
QString string;
string = QString(byte);
  • 1
  • 2
  • 3

这里再对这俩中类型的输出总结一下:

qDebug()<<"print";
qDebug()<<tr("print");
qDebug()<<ch;(ch 为char类型)
qDebug()<<tr(ch);
qDebug()<<byteArray;(byteArray是QByteArray类型)
qDebug()<<tr(byteArray);
qDebug()<<str;(str 为Qstring类型)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

但是qDebug()<<tr(str);是不可以的,要想用tr()函数输出QString类型的字符则要如下:

qDebug()<<tr(str.toLatin1);
  • 1

int与 QString 的转换

int 转 QString

int a=10;
QString b;
b=QString::number(a)
  • 1
  • 2
  • 3

QString 转int

QString a="120"
int b;
b=a.toInt()
  • 1
  • 2
  • 3

QString与string的转换

QString –> string

QString.toStdString();
string --> QString
QString::fromStdString(string)
  • 1
  • 2
  • 3

QString与其他类型的转换

QString —>int,double,char *

QString::toInt()
QString::toDouble()
QString.toStdString().c_str();
  • 1
  • 2
  • 3

int double char* —>string 
可以采用里的stringstream

以int 为例,

int a = 3;
stringstream ss;
string strInt;
ss<<a;
ss>>strInt;
  • 1
  • 2
  • 3
  • 4
  • 5

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");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

QString –>Char*

Qstring 转换char*问题! 
方法一:

QString qstr("hello,word");
const char * p = qstr.toLocal8Bit().data();
  • 1
  • 2

方法二:

const char *p = qstr.toStdString().data();
//转换过来的是常量
  • 1
  • 2

方法三:

QString str="abc";
char *ch;
QByteArray ba = str.toLatin1()
ch = ba.data();
  • 1
  • 2
  • 3
  • 4

或者

QString tmp = "test";
QByteArray text = tmp.toLocal8Bit();
char *data = new char[text.size() + 1]
strcpy(data, text.data());
delete [] data;
  • 1
  • 2
  • 3
  • 4
  • 5

QDateTime 转换为 QString

QString strBuffer;
QDateTime time; time = QDateTime::currentDateTime(); strBuffer = time.toString("yyyy-MM-dd hh:mm:ss"); // strBuffer = 2015-12-21 17:35:00
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

String 转换为 QDateTime

QString strBuffer;
QDateTime time; strBuffer = "2010-07-02 17:35:00"; time = QDateTime::fromString(strBuffer, "yyyy-MM-dd hh:mm:ss");
http://blog.csdn.net/u013007900/article/details/50354680

Qt中的对象类型转换(Qstring 转换char*有三种方法)的更多相关文章

  1. Qt中的对象类型转换

    char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = c ...

  2. Qt中所有类型之间的转换

    1.char * 与 const char *的转换 char *ch1="hello11";const char *ch2="hello22";ch2 = c ...

  3. QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)

    QT中获取选中的radioButton的两种方法   QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioBu ...

  4. PHP中把对象转数组的几个方法

    PHP中把对象转数组的几个方法: 1. //PHP stdClass Object转array function object_array($array) { if(is_object($array) ...

  5. Qt中一些常用的格式转换

    转自:http://blog.csdn.NET/yh_1988/article/details/7190356 用Qt经常头痛于一些格式不能通用的问题 在此记录备用 1 (20120112)QStri ...

  6. PyQt(Python+Qt)学习随笔:Qt中的部分类型QString、QList和指针、引用在PyQt中的实现方式

    老猿Python博文目录 老猿Python博客地址 在我们查阅Qt的文档资料时,可以看到Qt中的链表使用的是QList,字符串使用的是QString,但老猿在测试时发现这两个类型PyQt不支持,无法找 ...

  7. QT中获取选中的radioButton的两种方法

    QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast&l ...

  8. Qt中的强制类型转换

    在C++开发中经常要进行数据类型的强制转换. 刚开始学习的时候,直接对基本数据类型强制类型转换,如float fnum = 3.14; int num = (int)fnum; 随着C++标准的发展, ...

  9. qt 中的对象树

    本节内容讲解了什么是对象树以及其所带来的 GUI 编程好处.最后说明了在对象树中析构顺序问题并举了个特殊的例子,来说明平时编程中需要注意的一个点. 什么是对象树? 我们常常听到 QObject 会用对 ...

随机推荐

  1. [置顶] .NET下枚举类型的Save和Load分析

    今天在写代码的时候,心血来潮对原来的字符串保存状态位的方式很不满意,对于代码里出现了 state == "1" 这样的状态判断很是不爽.那么理想中的判断是怎样的呢?很简单如你所想枚 ...

  2. 1.2UISwitch 1.3 自定义UIswitch 1.4pickerView

    1.2 UISwitch创建和使用开关 问题你想给你的用户打开一个选项或关闭的能力.解使用UISwitch类. 讨论该UISwitch类提供像在图1-7为自动大写,自动校正,等等所示的开/ ...

  3. spring AOP简单入门

    AOP(aspect oriented programming)面向切面编程. 大致意思是在方法的执行过程中织入其他要执行的方法. 项目结构图 先介绍一下通过代理的方式实现aop,几个文件和上一篇一样 ...

  4. pthread 简要使用指南

    http://www.2cto.com/kf/201208/151995.html http://www.2cto.com/kf/201208/151997.html

  5. ORA-12514(TNS:监听程序当前无法识别...)

    记录: ORA-12514(TNS:监听程序当前无法识别...)的解决方案 在安装ORACLE 11G 过程中由于配置的原因,安装过程中报了如下错误:   按照安装提示执行后面的操作后,打开PL/SQ ...

  6. php mysql实现栏目分类递归

    header("content-type:text/html;charset=utf-8"); $dbhost = "localhost";   // 数据库主 ...

  7. psycopg2接口的基本用法

    转载自:http://zhiwei.li/text/2012/02/05/psycopg2接口的基本用法/ 与其他实现了DB API 2.0协议的其他数据库用户基本一致. import psycopg ...

  8. [LeetCode]题解(python):133-Clone Graph

    题目来源: https://leetcode.com/problems/clone-graph/ 题意分析: 克隆一个无向图.每个节点包括一个数值和它的邻居. 题目思路: 直接深度拷贝. 代码(pyt ...

  9. Sublime 编辑器主题

    Sublime主题分为两种 一种是编辑框中的代码的颜色  另一种是编辑器本身的颜色(不只是颜色哟  Sublime编辑器左边侧边栏的字很小对不对 !有了主题就可以改) 这个主题叫做Soda  http ...

  10. 解决用户 'IIS APPPOOL\Classic .NET AppPool' 登录失败

    解决用户 'IIS APPPOOL\Classic .NET AppPool' 登录失败 windows 7进入iis管理器 本地应用程序池 选中classic. net appPool 选择右侧的 ...