C Qt 常用標頭檔案及容器類

2021-10-13 22:38:54 字數 3910 閱讀 2745

目錄

一、qt常用標頭檔案

1. 標頭檔案

(1) qt 中的資料型別定義

(2) 常用函式

(3) 常用巨集 2.

標頭檔案

二、qt容器類

1.順序容器

(1)qlist

(2)qlinkedlist

(3)qvector

(4)qstack

(5)qqueue

2.關聯容器

(1)qmap

(2)qmultimap

(3)qhash

(4)qmultihash

(5)qset

標頭檔案包含了 qt 類庫的一些全域性定義,包括基本資料型別、函式和巨集。一般的 qt 類的標頭檔案都會包含該檔案,所以不用顯式包含這個標頭檔案也可以使用其中的定義。

qt 資料型別

等效定義

位元組數備註

qint8

signed char

1qint16

signed short

2qint32

signed int

4qint64

long long int

8qlonglong

long long int

8quint8

unsigned char

1quint16

unsigned short

2quint32

unsigned int

4quint64

unsigned long long int

8qulonglong

unsigned long long int

8uchar

unsigned char

1ushort

unsigned short

2uint

unsigned int

4ulong

unsigned long

8qreal

double

8qfloat16

2qt 5.9.0 中新增的乙個類,用於表示 16 位的浮點數,使用時,需要包含標頭檔案 。

若是以 double 或 float 型別數作為引數的,一般有兩個引數版本的同名函式。(下面**,若存在 double 和 float 兩種引數版本,只列出 double 型別引數的版本)

函式功能

t qabs(const t &value)

返回變數 value 的絕對值

const t &qbound(const t &min, const t&value, const t &max)

返回 value 限定在 min 至 max 範圍之內的値

bool qfuzzycomparc(doublc p1, double p2)

若 p1 和 p2 近似相等,返回 true

bool qfuzzyisnuli(double d)

如果引數 d 約等於 0,返回 true

double qinf(()

返回無窮大的數

bool qisfinite(double d) 

若 d 是乙個有限的數,返回 true

bool qisinf(double d) 

若 d 是乙個無限大的數,返回 true

bool qisnan(double d)

若 d 不是乙個數,返回 true

constt&qmax(const t&value1, const t&value2)

返回 value1 和 value2 中較大的值

const t &qmin(const t&value1, const t&value2)

返回 value1 和 value2 中較小的值

qint64 qround64(double value) 

將 value 近似為最接近的 qint64 整數

int qround(double value)

將 value 近似為最接近的 int 整數

int qrand()

標準 c++ 中 rand() 函式的執行緒安全型版本,返回 0 至 rand_max 之間的偽隨機數

void qsrand(uint seed)

標準 c++ 中 srand() 函式的執行緒安全型版本,使用種子 seed 對偽隨機數字序列初始化

1.qt_version:這個巨集展開為數值形式 0xmmnnpp (mm = major, nn = minor, pp = patch) 表示 qt 編譯器版本,例如 qt 編譯器版本為 qt 5.9.1,則 qt_version 為 0x050901。這個巨集常用於條件編譯設定,根據 qt 版本不同,編譯不同的**段。

2.qt_version_check:這個巨集展開為 qt 版本號的乙個整數表示

3.qt_version_str:這個巨集展開為 qt 版本號的字串,如「5.9.0」

4.q_byte_order、q_big_endian 和 q_little_endian:q_byte_order 表示系統記憶體中資料的位元組序,q_big_endian 表示大端位元組序,q_little_ endian 表示小端位元組序。在需要判斷系統位元組序時會用到

5.q_decl_import 和 q_decl_export:在使用或設計共享庫時,用於匯入或匯出庫的內容

6.q_decl_override:在類定義中,用於過載乙個虛函式

7.q_decl_final:這個巨集將乙個虛函式定義為最終級別,不能再被過載,或定義乙個類不能再被繼承

8.q_unused(name):用於在函式中定義不在函式體裡使用的引數,如果不用 **jnused 定義,編譯器會出現引數未使用的警告。

9.foreach(variable, container):foreach 用於容器類的遍歷

10.forever:forever用於構造乙個無限迴圈

11.qdebug(const char * message,…):在debugger窗體顯示資訊,如果編譯器設定了 qt_no_debug_output,則不作任何輸出

void mainwindow::testglobalfun()

else

int num1=10,num2=20;

int num=qmin(num1,num2);

qdebug("num1 and num2,min is %d",num);//10

}

函式

功能t qabs(const t &value)

返回變數 value 的絕對值

#include #include void mainwindow::testmathfun()

foreach(qstring str,_linked_list)

qqueue是提供類似於佇列先入先出(fifo)操作的容器類。enqueue() 和 dequeue() 是主要操作函式。

#include #include void testqqueue()

qt 還提供關聯容器類 qmap、qmultimap、qhash、qmultihash 和 qset。

qmap提供乙個字典(關聯陣列),乙個鍵對映到乙個值。qmap 儲存資料是按照鍵的順序,如果不在乎儲存順序,使用 qhash 會更快。

如果在對映表中沒有找到指定的鍵,會返回乙個預設構造值,例如,如果值的型別是字串,會返回乙個空的字串。在使用 value() 函式查詢鍵值時,還可以指定乙個預設的返回值。

#include void testqmap()

foreach(char c,_map)

foreach(char c,_hash)

if(_set.contains("abc"))

else

}

常用的函式及標頭檔案

常用函式及其標頭檔案 函式 作用標頭檔案 printf scanf 及其 兄弟 格式化輸入輸出 stdio.h或cstdio fopen,freopen,fclose 檔案的開啟與關閉 stdio.h或cstdio getchar,fgets等等 字元 字串的輸入輸出 stdio.h或cstdio ...

常用庫函式及標頭檔案

1.排序 sort a,b,c 標頭檔案 include 2.字串與整實型轉換 一 string轉int a int變數 atoi b string變數 c str 標頭檔案 include 二 string轉float a float變數 atof b string變數 c str 標頭檔案 in...

linux常用標頭檔案及說明

1 linux中一些標頭檔案的作用 ansi c。提供斷言,assert 表示式 gcc。gtk,gnome的基礎庫,提供很多有用的函式,如有資料結構操作函式。使用glib只需要包含 gcc。資料夾操作函式。struct dirent,struct dir,opendir closedir read...