QT開發日記

2021-06-03 21:03:28 字數 1596 閱讀 4381

1,在使用moc的時候,q_object這個巨集不能用在乙個類的定義檔案中,只能在單獨作為乙個類的宣告檔案中用,否則會出現「vtable for ***x(類名)」的出錯提示。如果乙個類只宣告了,而沒有定義,也會出現上述錯誤. 這時可以在這個檔案的末尾加上#include "******.moc"(***xx為不要.cpp字尾的檔名)便不會出錯了。

2,在使用qmultilineedit這個類的時候,我得出以下這個結論:clear之後settext之後再text可以得到文字;clear之後insertline之後再text不能得到文字(得到null),這時可以用textline得到文字;不用clear,insertline之後再text可以得到文字。

3,在qtextview中顯示的字串,如果首尾分別以及標誌,那麼原來的換行將會被忽略。如果將qtextview的物件設定為settextformat(richtext),那麼同樣會忽略原來的換行符。

4,構造qtextstream

1--------》

qbytearray array;

qtextstream ts( array, io_writeonly );

ts << "pi = " << 3.14 << '\0';     // array == "pi = 3.14"

這段**相當於:

1--------》

qbytearray array;

qbuffer buf( array );

buf.open( io_writeonly );

qtextstream ts( &buf );

ts << "pi = " << 3.14 << '\0';              // array == "pi = 3.14"

buf.close();

這是因為在qtextstream.cpp裡有這樣的定義:

qtextstream::qtextstream( qbytearray a, int mode )

也就是說1中的在構造qtextstream的時候,已經要構造乙個qbuffer。

5,qstringlist是乙個擁有多個qstring物件的qvaluelist,它不同於qstrlist,qstrlist儲存的是乙個字符集指標,而qstringlist儲存的是乙個真實的qstring物件集。

像qstring一樣,qstringlist物件之間是隱含共享的,它們通過圍繞乙個值參來達到快速安全的目的。

例:qstringlist list;

// sort the list, arnt's now first

list.sort();

// print it out

for ( qstringlist::iterator it = list.begin(); it != list.end(); ++it )

qstringlist擁有諸如sort(),split(),join()及grep()這樣的方法使qstringlist操作更方便。

7.遍歷

qlist::iterator it = user.begin(),itend = user.end();

int i = 0;

for (;it != itend; it++,i++)

}

Qt開發日記2

經過這一段時間的學習對qt開發和程式設計有了一定的認識。首先,我非常習慣於qtt的程式設計方式,因為qt是基於c 的,所以對我來說,就能很快的理清其條理。然後,說一下程式設計學習過程中,所遇到的一些問題吧 首先是關於tr 的問題。一開始看見幾乎網上的qt程式都是採用的tr 來輸出字元,就自然而然的使...

我的Qt學習日記 DAY 2 Qt 開發環境

qt 開發環境 qt 開發環境包括三個基本部分 qt framework qt庫 qt creator ide mingw 編譯除錯 頭兩個是 vs2010 和vs2008 編譯而成的 qt庫,第三個是 mingw 版本qt庫,dmg結尾的兩個是 macos 系統裡使用的qt庫 qt everywh...

Ubuntu開發日記

最近在做ubuntu下開發,遇到一些問題,特在這裡做個整理 apt get update更新自己的資料來源,獲得更新的package 資訊。apt get install package name 安裝新的包。dpkg l 列出安裝所有包的資訊 dpkg l列出包的安裝位置等詳細內容 在www.pa...