做一下今天學習的筆記:
1.槽函式要有宣告,有函式體,訊號只需要宣告,傳送訊號要用emit,可以用傳送訊號的物件的現有槽函式來emit訊號。
2.使用物件指標的時候要先進行例項化,如:
先在.**件裡申明乙個對話方塊dialog *dlg;
再在.cpp檔案裡例項化 dlg = new dialog();
這個物件也可以是.**件的物件,比如在dialog1.**件裡建立了乙個dialog1物件,裡面有它自己的函式和屬性,可以在別的檔案如widget.cpp裡面申明,先引用dialog1.h再申明dlg = new dialog1();
3.qboxlayout
qboxlayout可以在水平方向或垂直方向上排列控制項,被qhboxlayout、qvboxlayout所繼承。
qhboxlayout:水平布局,在水平方向上排列控制項,即:左右排列。
qvboxlayout:垂直布局,在垂直方向上排列控制項,即:上下排列。
4.qpixmap、qpainter、qpen、qimage
qpixmap依賴於硬體,qimage不依賴於硬體。
qpixmap主要是用於繪圖,針對螢幕顯示而最佳化設計,qimage主要是為影象i/o、訪問和畫素修改而設計的。
當小的情況下,直接用qpixmap進行載入,畫圖時無所謂,當大的時候如果直接用qpixmap進行載入,會佔很大的記憶體,一般一張幾十k的,用qpixmap載入進來會放大很多倍,所以一般大的情況下,用qimage進行載入,然後轉乘qpixmap使用者繪製。qpixmap繪製效果是最好的。
用法lab = new qlabel();
label->setpixmap(qpixmap(e:/***/***));
(注意這裡是反斜槓)
以上操作是通過路徑找到影象再把影象轉成pixmap資料再新增到控制項上
qpainter painter(&impixmap) 要用取位址符來設定畫筆的所在的畫板
qpixmap申明的時候不需要用*
即qpixmap pix;
其他控制項如label、boxlayout是需要*的
5.qdebug的用法
類似c++的cout函式
qstring str=「world」;
qdebug()<<「hello 「<6.ui的使用
使用ui的時候,新建了乙個控制項,使用ui->可以呼叫控制項,但會有紅色的下劃線,不用理會,可以編譯並成功執行(前提是記得儲存並編譯ui)。
記錄自己的QT學習之路(6)
對二維vector使用的一些經驗與總結 我建立了乙個新的類myshape,被line rect circle ellipse arc point六個子類所繼承 希望申明乙個二維vector,裡面存放這六個類並加以分組 申明語句qvector vmyshape 遍歷語句 for int i 0 i v...
記錄自己的QT學習之路(8)
今日學習筆記 void on button clicked 自動連線槽函式是需要什麼在private slots下的,如 清空二維vector的操作 vector的清空函式是 vmyshape clear 而由於二維vector的特殊性,這個操作只會清空第乙個vector即二維vector的第一行資...
Qt學習之路
qt 學習之路 是在網路上受到一定歡迎的 qt 入門教程。只是這個系列便攜與 2009 年,至今已經有三年多的時間。今天的 qt 有了很大的變化,包括 qt quick 的加入 qt 底層架構的改變,更重要的是 qt 5 的發布。本系列文章將會是 qt 學習之路 的一次公升級和修訂,著重關注於 qt...