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.方法 行為 動作 執行的操作 ...