當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:QT課堂筆記整理
1. 在widget類中自動定義了bool event函數(shù),這個函數(shù)默認(rèn)會記錄所有的操作類型,并且可以通過event->type進(jìn)行調(diào)用;
2. 所有的控件默認(rèn)都有eventfilter()函數(shù)和installEventfilter()函數(shù),控件可以直接調(diào)用,如果需要對eventfilter函數(shù)添加新的定義,需要單獨(dú)在類中定義,而installeventfilter函數(shù)則需要在構(gòu)造函數(shù)中初始化
3. 在構(gòu)造函數(shù)中使用qApp->installEventFilter(this),這個函數(shù)來給本APP中所有的控件都安裝事件過濾處理器;
4. 使用sendEvent來給控件發(fā)送信號
QKeyEvent key(QEvent::KeyPress,Qt::Key_A,Qt::NoModifier,"A");
QApplication::sendEvent(ui->lineEdit, &key);
5. 利用paintEvent函數(shù)來進(jìn)行繪畫處理
(1) 顏色的表示方法qcolor a(“#0000000”)
(2) setbrush表示刷子的格式
(3) setpen表示設(shè)置畫筆顏色;
(4) 繪畫,p.drawline(起點(diǎn)坐標(biāo),結(jié)束點(diǎn)坐標(biāo));
(5)
QML介紹
1. Qguiapplication app表示定義一個事件分配對象;
2. 在QML中,
(1) 每一個{}就代表一個對象,每個對象都有自己的屬性;
(2) 每個對象都有自己的ID屬性(id不能重復(fù))(ID相當(dāng)于C++中的變量名);
(3) Border屬性描述邊框;
(4) 調(diào)試console
(5) 在qml中動作一般定義在對象中,這樣在執(zhí)行的時候,才會執(zhí)行相應(yīng)的動作;
(6) 在對象中如果要自定義屬性類型,一般使用property var 變量:初始值
(7) Anchors在對齊的時候要求橫軸中心和縱軸中心必須同時對齊;
3. 動畫
(1) 并行動畫parallelAnimation
(2) 屬性propertyAnimation
(3) Behavior on rotation { propertyAnimation {
(4) 走勢:easing
音樂播放
1. 音樂播放
(1)創(chuàng)建畫家,設(shè)置畫筆和畫刷;
(2)Qwidget繼承QpaintDevice
(3)
====》設(shè)置畫筆的時候,新的setpen會覆蓋之前的設(shè)置;
(5)gradient渲染
(6)使用Qpen和Qbrush進(jìn)行設(shè)置;
2. 在pixmap的引用時,可以直接定義一個成員變量pix,在構(gòu)造函數(shù)中進(jìn)行初始化,這樣可以避免每一次畫板發(fā)生變化時,內(nèi)存中就會重新調(diào)用圖畫,減少內(nèi)存消耗;
3. Translate改變原點(diǎn)
4. Timer定時器
(1) 定義Qtime對象,然后調(diào)用tinme.start()
5. 設(shè)置背景框
(1) 調(diào)出調(diào)色板,然后給調(diào)色板上色,
(2)
(3)
6. 畫筆的高級用法
(1) QPainterpath用法;