嵌(qian)入式學(xue)習筆記:QT課堂筆記整理
時間:2018-09-29 來源:未(wei)知(zhi)
1. 在widget類中(zhong)自動定義了bool event函數(shu),這個函數(shu)默認會記錄(lu)所有的操作類型,并且可以通過event->type進行調(diao)用;
2. 所(suo)有的控(kong)件(jian)默認都有eventfilter()函(han)數(shu)和installEventfilter()函(han)數(shu),控(kong)件(jian)可(ke)以直(zhi)接調用,如果需(xu)要對eventfilter函(han)數(shu)添加(jia)新的定義(yi),需(xu)要單(dan)獨在類中定義(yi),而installeventfilter函(han)數(shu)則需(xu)要在構造函(han)數(shu)中初始化
3. 在構造函數中使用qApp->installEventFilter(this),這個(ge)函數來給本APP中所有的控件(jian)(jian)都(dou)安(an)裝事件(jian)(jian)過濾處理器;
4. 使用sendEvent來給控件(jian)發送信號
QKeyEvent key(QEvent::KeyPress,Qt::Key_A,Qt::NoModifier,"A");
QApplication::sendEvent(ui->lineEdit, &key);
5. 利用(yong)paintEvent函數來進(jin)行(xing)繪畫(hua)處理
(1) 顏色的表示(shi)方(fang)法qcolor a(“#0000000”)
(2) setbrush表示刷子(zi)的格式
(3) setpen表(biao)示設(she)置畫筆顏(yan)色;
(4) 繪畫(hua),p.drawline(起點坐(zuo)(zuo)標,結(jie)束點坐(zuo)(zuo)標);
(5)
QML介紹
1. Qguiapplication app表示定義一(yi)個事件(jian)分配對象;
2. 在QML中,
(1) 每(mei)(mei)一個{}就代(dai)表一個對象,每(mei)(mei)個對象都有自己的屬(shu)性;
(2) 每個對象都有自己的ID屬性(id不能重復)(ID相當于(yu)C++中的變(bian)量名);
(3) Border屬(shu)性(xing)描述(shu)邊框;
(4) 調試console
(5) 在qml中動作一般定義在對象中,這(zhe)樣在執(zhi)(zhi)行的(de)時候,才(cai)會執(zhi)(zhi)行相應的(de)動作;
(6) 在對象中如果(guo)要自(zi)定義屬性類(lei)型,一般(ban)使用property var 變量(liang):初(chu)始值
(7) Anchors在對齊的時候要求橫軸(zhou)中心和縱(zong)軸(zhou)中心必須同時對齊;
3. 動畫
(1) 并行動(dong)畫(hua)parallelAnimation
(2) 屬(shu)性propertyAnimation
(3) Behavior on rotation { propertyAnimation {
(4) 走勢:easing
音樂播放
1. 音樂播放
(1)創建(jian)畫家,設(she)置畫筆和畫刷;
(2)Qwidget繼承QpaintDevice
(3)
====》設置(zhi)畫筆的(de)時(shi)候,新的(de)setpen會覆(fu)蓋之前的(de)設置(zhi);
(5)gradient渲染(ran)
(6)使用Qpen和Qbrush進行設置;
2. 在pixmap的引用時,可以直接定(ding)義一個成(cheng)員變量pix,在構造函(han)數中進行初始化(hua),這樣可以避免(mian)每一次畫板(ban)發生變化(hua)時,內(nei)存中就會(hui)重(zhong)新調(diao)用圖畫,減少(shao)內(nei)存消耗;
3. Translate改變原點
4. Timer定時器
(1) 定義Qtime對象,然后調用tinme.start()
5. 設置(zhi)背景(jing)框
(1) 調出(chu)調色(se)板(ban),然后給調色(se)板(ban)上色(se),
(2)

(3)

6. 畫(hua)筆的高級(ji)用法(fa)
(1) QPainterpath用法;

