初學習Qt的一些感悟

2022-06-17 06:24:10 字數 846 閱讀 3494

最近用qt寫了個人專案,有如下心得(可能有不準確):

qt儘管沒有擴充套件c++語法,但是有額外編譯鏈,每個q_object類編譯的時候會用moc工具生成另乙個meta c++類,之後就是標準c++編譯流程。

qt test語法似乎比google test簡潔,就qcompare和qverify兩個,但是有很多過載。另外expected和actual的順序和gtest相反。

qt ui用的是訊息迴圈,甚至還有deletelater這樣的功能

qt的容器用int表示數量,而不是size_t

qt的事件傳遞用的不是函式指標,而是signal-slot,兩者都是函式,這個機制完全依賴於moc,標準c++程式應該是無法實現的。

qt有比較健全的物件**機制,如果父控制項子控制項都是堆上建立,那麼父控制項析構會自動呼叫子類析構,所以不需要寫子控制項的delete。有意思的是,即使在父類析構函式寫了delete子控制項,也完全沒問題,因為子控制項析構會和父控制項解綁。由於這個解綁機制,棧上建立的物件,只要保證父控制項先子控制項後,也完全沒問題。

qt的layout非常智慧型,比html不知高到**去了

qt的跨平台支援不完美,mac和windows有的行為不太一樣,某些地方需要用巨集區別對待

qt的控制項提供了過載函式onevent和on***event兩種,後者似乎是從前者衍生的,儘管功能一樣,但後者用起來更舒服。

qt控制項不提供一些c++操作符過載,比如賦值和拷貝構造,因為每個物件在樹中都有特定位置,複製的語義不明確。

qt似乎提供不同的c++的程式設計規範,比如也有這樣兩個一樣的版本,列印日誌可以qinfo("hello"),也可以qinfo() << "hello"

qt有完整的工具庫,包括檔案、json支援、字串等等

python學習的一些感悟

首先宣告,這裡用到的庫是在coursera上學習時,老師建立的乙個庫 timer import gui import random global state message python is fun position 50,50 width 500 height 500 interval 2000...

關於機器學習的一些感悟

1 通過機器的學習 大規模 資料庫 複雜的感測器和巧妙的演算法,來完成分散的任務 是人工智慧的最新定義。2 mit 實驗室的機械人專家 rodney brooks 提出,要以 具身智慧型 embodied intelligence 的方法來製造機械人。從這種方法出發,製造類人機械人不再是發展更複雜的...

讀書的一些感悟

讀書學習幾重境界 1.死記硬背,只知其一,不知其二。只看不思 初識境界 2.理解書本知識,知道其原理,結構,出現的原因。可以忘記時間 地點,完全沉醉 昇華境界 3.達到理解並舉例反三。可以將自身置於課本之中,忘記自己 忘我境界 4.將所學熟爛於心,靈活運用。可以將知識深層藏人大腦,需要時,能信手拈來...