Qt開發經驗小技巧31 40

2021-10-01 13:06:13 字數 1308 閱讀 8009

**判斷msvc編譯器版本。

if (_msc_ver == 1800)

msvc++ 14.0 _msc_ver == 1900 (visual studio 2015)

msvc++ 12.0 _msc_ver == 1800 (visual studio 2013)

msvc++ 11.0 _msc_ver == 1700 (visual studio 2012)

msvc++ 10.0 _msc_ver == 1600 (visual studio 2010)

msvc++ 9.0 _msc_ver == 1500 (visual studio 2008)

msvc++ 8.0 _msc_ver == 1400 (visual studio 2005)

msvc++ 7.1 _msc_ver == 1310 (visual studio 2003)

msvc++ 7.0 _msc_ver == 1300

msvc++ 6.0 _msc_ver == 1200

msvc++ 5.0 _msc_ver == 1100

在pro中判斷不同平台:message($$qt_arch) contains(qt_arch,arm)。

qt最小化後恢復介面假死凍結,加上**

void showevent(qshowevent *e)
獲取標題欄高度:style()->pixelmetric(qstyle::pm_titlebarheight); pm_titlebarheight點進去你會發現新大陸。

#if (qt_version > qt_version_check(5,6,0))

#endif

qt內建了qformlayout表單布局用於自動生成標籤+輸入框的組合的表單介面。

可以直接繼承qsqlquerymodel實現自定義的querymodel,比如某一列字型顏色,佔位符,其他樣式等,重寫qvariant customsqlmodel::data(const qmodelindex &index, int role) const。

qt5以後提供了類qscroller直接將控制項滾動。

ui->listwidget->sethorizontalscrollmode(qlistwidget::scrollperpixel);

qscroller::grabgesture(ui->listwidget,qscroller::leftmousebuttongesture);

qt開發經驗開源主頁(持續更新):

Qt開發經驗小技巧1 10

當編譯發現大量錯誤的時候,從第乙個看起,乙個乙個的解決,不要急著去看下乙個錯誤,往往後面的錯誤都是由於前面的錯誤引起的,第乙個解決後很可能都解決了。定時器是個好東西,學會好使用它,有時候用qtimer singleshot可以解決意想不到的問題。開啟creator,在構建套件的環境中增加makefl...

Qt開發經驗小技巧11 20

獲取類的屬性 const qmetaobject metaobject object metaobject int count metaobject propertycount for int i 0 i count i qt內建圖示封裝在qstyle中,大概七十多個圖示,可以直接拿來用。qstyl...

Qt開發經驗小技巧41 50

如果使用sqlite資料庫不想產生資料庫檔案,可以建立記憶體資料庫。qsqldatabase db qsqldatabase adddatabase qsqlite db.setdatabasename memory 清空資料表並重置自增id,sql truncate table table nam...