Qt中的基本資料型別

2021-09-01 23:43:38 字數 3172 閱讀 5444

1.1 基本資料型別qglobal

1.2常用函式

qreal abs=-4.567;

qreal myvalue1,myvalue2,myvalue3,myvalue4;

qint32 int_a=6;

qint32 int_b=4;

qint32 int_c=7;

myvalue1=qabs(abs);

myvalue2=qmax(int_a,int_b);

myvalue3=qmin(int_a,int_b);

myvalue4=qbound(int_a,int_c,int_b);

比較浮點數大小

qreal abs=-4.567;

qreal abs2=3.24;

bool i=qfuzzycompare(abs,abs2); //返回false

隨機數

qsrand(qtime(0,0,0).secsto(qtime::currenttime()));

for(int i=0; i<10; i++)

2.7查詢字串出現的位置

indexof(qstring str,int index)//index表示從哪個位置開始找,0為起點,返回的是字串下標

int i;

qstring str ="stick question";

qstring str1="ti";

i=str.indexof(str1); //1

i=str.indexof(str1,2);//10

i=str.indexof(str1,11);//-1

2.8查詢字串出現的次數

qstring  str ="stick question";

qstring str1="sti";

i=str.count(str1); //返回1

j=str.count(str1,qt::caseinsensitive);//返回2

2.9查詢是否包含另乙個字串

bool x;

qstring str ="stick question";

qstring str1="sti";

x=str.contains(str1);//true

2.10字串擷取

qstring  str ="stick question";

qstring str1="sti";

- 向左擷取

str1=str.left(7); //從左開始數

- 向右擷取

i=str.right(5),//從右邊開始數

- 中間擷取

j=str.mid(6,4);//從第乙個引數開始,向後數4個

2.11數字轉字串qstring

靜態方法 qstring::number(uint n,int base=10)

qstring::number(uint n,16)

qstring::number(uint n,16).toupper();

qstring::number(num);//qreal num

qstring::number(num,'g',8);//這裡8位是不計算小數

2.12 格式化輸出

qreal x=123.123345678;

qstring str1="rainya";

qstring str2;

str2=qstring("name is %1,age is %2").arg(str1).arg(x,0,'f',3);

//qreal 保留幾位小數,最後乙個引數決定

2.13 qstring 與std:string互相轉換

qstring str1="rainya";

std::string str2="helllo";

std::string str=str1.tostdstring();

qstring qstr=qstring::fromstdstring(str2);

qbytearray ba("hello");

ba.resize(5);

ba[0]

qbytearray

3.1 初始化

qbytearray ba(「hello」);

3.2 訪問

3.3 qbytearray 和char *轉換

qbytearray ba("hello");

const char* str=ba.constdata();

//通過字符集轉換

char *p="abc";

qstring c=qstring(p);

qbytearray ba1=c.toutf8();

//通過qbytearray::fromrawdata(const char *,int);

qbytearray ba2(qbytearray::fromrawdata(p,5));

3.4 關於 /0的理解
qbytearray ba("hel\0l\0o");

qdebug()《在轉換為字串的時候,\0會終止 這裡得到 3,hel

3.5 qvariant

qvariant變數沒有資料型別,像是乙個最常見的qt的資料型別的公用體(union)但是一次只能是乙個物件,有些物件可能是多值的(比如字串列表)

可以用 tot():t表示一種資料型別,將qvariant轉化為別的型別並且獲取值,在這裡是賦值乙份物件,所以原來的物件不會改變

qvariant b("fdfdsgfe"); //qvariant

qstring str=b.tostring(); //qstring

--------------該函式不可以用做型別轉換-------

qstringlist str1;

str1<<"ni"<<" hao";

qvariant b(str1);

qstringlist str=b.tostringlist();

QT基本資料型別

qint8 signed char 有符號8位元資料 qint16 signed short 16位資料型別 qint32 signed int.32位有符號資料型別 qint64 long long int 或 int64 64位有符號資料型別,windows中定義為 int64 qintptr ...

qt的基本資料型別

qint8 有符號的8位元資料 qint16 16位資料型別 qint32 32位有符號的資料型別 qint64 或者 int64 64位有符號的資料型別,windows中定義為 int64 qintptr 或者 指標型別,根據系統型別不同而不同,32位系統為qint32,64位系統為qint64 ...

C 中的資料型別 基本資料型別

資料的基本型別包括 基本型別和符合型別。其命名最好是按照英文方式命名。如果有多個表示同一事物的變數則可以用下標 123等來命名。如果需要兩個單詞才可以命名的變數則這兩個單詞之間通常使用 來連線。基本資料型別也包括整型和浮點型,接下來我們先來介紹整型。a 整型 short int long longl...