Qt 格式轉換問題 記錄(好多方法)

2022-01-15 13:53:44 字數 1657 閱讀 9687

用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小洋(謝謝作者整理

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

可以採用裡的stringstream

以int 為例,int a = 3;

stringstream ss;

string strint;

ss>strint;

其他兩個一樣。

5 int double char*裝qstring

Qt 格式轉換問題 記錄

用qt經常頭痛於一些格式不能通用的問題 在此記錄備用 1 20120112 qstring轉為char qstring str char a str hello word a str tolatin1 data 2 字串中輸入變數 char a 64 定義時直接分配空間 int temp 50 sp...

Qt軟體發布問題記錄

最近在win7 qt 5.5.1 vs2012環境下軟體開發,開發好的軟體編譯release版本,用之前寫過的一篇帖子 qt程式發布 方式將所需要的動態庫拷貝到一起,nsis指令碼打包成exe安裝程式,以為一切ok。當然在自己的機子上執行是沒有問題的,可是換到別的電腦上,可能就要報錯了。1.缺少 m...

Qt 問題記錄 單指觸控預設轉換滑鼠事件

在過載qwidget控制項的event 函式處理觸控螢幕操作時,發現單指觸控事件會被預設轉換成滑鼠事件,導致程式接收了qevent touchbegin事件後無法繼續接收後續的qevent touchupdate qevent touchend事件。檢視qt文件後發現qt的事件處理中有以上兩種屬性可...