QT 知識小結 一

2021-09-01 15:10:48 字數 3323 閱讀 6704

1、qt介面亂碼的解決方法

//解決在win7系統外其它系統主介面上漢字為亂碼的情況(可能是缺少相關的字型所引起的問題)

qtextcodec *codec = qtextcodec::codecforname("system");

qtextcodec::setcodecforlocale(codec);

qtextcodec::setcodecforcstrings(codec);

qtextcodec::setcodecfortr(codec);

2、qstring int char

型別轉換

qt中 int ,float ,double轉換為qstring

有兩種方法

1.使用

qstring::number();

如:long a = 63;

qstring s = qstring::number(a, 10); // s == "63"

qstring t = qstring::number(a, 16).toupper(); // t == "3f"

long a = 63; qstring s = qstring::number(a, 10); // s == "63" qstring t = qstring::number(a, 16).toupper(); // t == "3f"(解釋,變數a為int型或者float,double。10和16為進製) toupper是大寫

2.使用

long a = 63;

qstring s = qstring("%1").arg(a);

long a = 63; qstring s = qstring("%1").arg(a);這個嘛,我不常用

把qstring轉換為 double型別

方法1.

qstring str="123.45";

double val=str.todouble(); //val=123.45

qstring str="123.45"; double val=str.todouble(); //val=123.45

方法2.很適合科學計數法形式轉換

bool ok;

double d;

d=qstring("1234.56e-02").todouble(&ok); //ok=true;d;12.3456.

bool ok; double d; d=qstring("1234.56e-02").todouble(&ok); //ok=true;d;12.3456.

把qstring轉換為float形 1

qstring str="123.45";

float d=str.tofloat(); //d=123.45

qstring str="123.45"; float d=str.tofloat(); //d=123.452.

qstring str="r2d2";

bool ok;

float d=str.tofloat(&ok); //轉換是被時返回0.0,ok=false;

qstring str="r2d2"; bool ok;float d=str.tofloat(&ok); //轉換是被時返回0.0,ok=false;

把qstring形轉換為整形

1.轉換為十進位制整形

注意:基數預設為10。當基數為10時,並且基數必須在2到36之

間。如果基數為0,若字串是以0x開頭的就會轉換為16進製制,若以0開頭就轉換為八進位制,否則就轉換為十進位制。

qstring str="ff";

bool ok;

int dec=str.toint(&ok,10); //dec=255 ; ok=rue

int hex =str.toint(&ok,16); //hex=255;ok=true;

qstring str="ff"; bool ok;int dec=str.toint(&ok,10); //dec=255 ; ok=rue int hex =str.toint(&ok,16); //hex=255;ok=true;

3.常整形轉換為qstring形

long a =63;

qstring str=qstring::number(a,16); //str="3f";

qstring str=qstring::number(a,16).toupper(); //str="3f";

long a =63; qstring str=qstring::number(a,16); //str="3f"; qstring str=qstring::number(a,16).toupper(); //str="3f";

qstring 轉換char*問題!

方法一:

qstring qstr("hello,word");

constchar * p = qstr.tolocal8bit().data();

qstring qstr("hello,word"); const char * p = qstr.tolocal8bit().data();

方法二:

constchar *p = qstr.tostdstring().data();

const char *p = qstr.tostdstring().data();

轉換過來的是常量

把當前時間轉化為qstring...

public qdatetime qdate = qdatetime.currentdatetime();

datetime = qdate.tostring("yyyy年mm月dd日ddddhh:mm:ss");

如果不是qtime和qdate模擬如說:通過tcp/ip接收到的char unsigned char 類等如何轉換為qstring類

qstring time2string( dword dwtime) ;

memset(ctime,0,50);

strftime(ctime,32,"%y-%m-%d %h:%m:%s",localtime(&time_t(dwtime)));

return qstring(ctime); }

3、 vs2010環境下 pro

檔案生成

234/// 

設定好環境變數,在命令列視窗中設定到專案路徑下,執行

qmake -project  

/// 

生成專案檔案

qmake           

/// 

生成makefile

檔案 make            

/// 編譯

Qt基礎知識小結

1 pro與.pri檔案 pri檔案跟pro檔案沒有本質區別,都是起到包含路徑等作用,區別在於pro檔案是主要檔案,pri是附屬檔案。下面是解釋 如果有幾個工程檔案需要共享相同的項,則可以把相同的項提取到單獨的檔案中,在各自的pro檔案中使用include 語句包含它們。通常,打算被別的工程檔案包含...

Qt一些基礎知識的小結

qt中的ui設計主要有兩種,碼 的形式和designer畫出來的形式。一 訊號槽 1 訊號槽的格式 目前我學到的qt4系列中,只知道一種 connect a signal b slot xx 2 自定義訊號槽 雖然qt中提供了常用的訊號和槽,但我們也需要定義自己的訊號與槽。必須保證傳送者和接受者都是...

C 知識小結一

1.物件 看得見,摸得到的 特指的 eg 大街上的寶馬不是物件,因為不是特指 2.類 是具有同種屬性的物件 類是抽象的概念 eg 人類 電腦是類 兩者關係和區別 物件叫做類的例項 類不佔記憶體,物件占用記憶體 3.屬性 物件具有的各種特徵 4.屬性值 描述特徵的值 5.方法 行為 動作 執行的操作 ...