記錄自己的QT學習之路(8)

2021-10-23 02:37:02 字數 1165 閱讀 6319

今日學習筆記:

void on_button_clicked()自動連線槽函式是需要什麼在private slots下的,如:

清空二維vector的操作

vector的清空函式是 vmyshape->clear();

而由於二維vector的特殊性,這個操作只會清空第乙個vector即二維vector的第一行資料。

我們需要套乙個迴圈:

ps:我的vector裡存放了需要繪製的圖形物件,如修改後立即顯示,需要repaint(),這樣可以實現介面的圖形clear操作。

對於新增選擇繪製顏色功能的實現的經驗:

給物件加乙個color屬性,在建立的時候通過建構函式傳遞這個引數進去,繪製的時候判斷每個物件的color屬性並設定畫筆顏色。

ps:如果一堆物件有同乙個屬性(這裡是color),我們可以將這個屬性在父類的屬性中申明,子類都會繼承它。建構函式申明和使用時的引數必須一一對應。

const關鍵字

const傳形參(建構函式中用到)意思是不能改變形參變數,const函式是不能改變呼叫該函式的類的成員變數;

const可以通過修改位址的方法修改它的值,而在程式編譯時期和程式執行時期的不能修改const值的

滑鼠左鍵事件

if(event->button() == qt::leftbutton)

如不新增這句,則預設滑鼠左右鍵都是能觸發的

對qbrush顏色調換的經驗:

是qbrush brush;//這樣構造出來的brush預設屬性為qt:nobrush

若設定為nobrush,之後修改這個brush的顏色,是無法被更改的,不能使用setcolor語句修改其顏色。

若希望實現畫刷從無填充到有填充的轉換,可以申明的時候把畫刷的屬性設定為透明色,即qbrush brush(qt::transparent);再進行brush.setcolor(qt::red)等操作

radio未被選中的判斷

它沒有自帶的isnotchecked的判斷,但有ischecked,加乙個if else 語句就可以判斷radio是否被選中了

記錄自己的QT學習之路(6)

對二維vector使用的一些經驗與總結 我建立了乙個新的類myshape,被line rect circle ellipse arc point六個子類所繼承 希望申明乙個二維vector,裡面存放這六個類並加以分組 申明語句qvector vmyshape 遍歷語句 for int i 0 i v...

記錄自己的QT學習之路(7)

做一下今天學習的筆記 1.槽函式要有宣告,有函式體,訊號只需要宣告,傳送訊號要用emit,可以用傳送訊號的物件的現有槽函式來emit訊號。2.使用物件指標的時候要先進行例項化,如 先在.件裡申明乙個對話方塊dialog dlg 再在.cpp檔案裡例項化 dlg new dialog 這個物件也可以是...

Qt學習之路

qt 學習之路 是在網路上受到一定歡迎的 qt 入門教程。只是這個系列便攜與 2009 年,至今已經有三年多的時間。今天的 qt 有了很大的變化,包括 qt quick 的加入 qt 底層架構的改變,更重要的是 qt 5 的發布。本系列文章將會是 qt 學習之路 的一次公升級和修訂,著重關注於 qt...