久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Qt QGraphicsView鼠標(biāo)拖拽畫矩形完整實(shí)現(xiàn)

Qt QGraphicsView鼠標(biāo)拖拽畫矩形完整實(shí)現(xiàn) 簡(jiǎn)介本資源是一個(gè)基于Qt 5.15.2的圖形交互式繪圖Demo面向C GUI開發(fā)初學(xué)者與Qt進(jìn)階實(shí)踐者聚焦QGraphicsView框架下的鼠標(biāo)交互邏輯實(shí)現(xiàn)解決矩形繪制、拖拽、縮放、邊緣調(diào)整及刪除保存等核心UI操作問題。壓縮包共16個(gè)文件含5個(gè)頭文件如GraphicsViewTool.h、DrawROI.h定義圖形工具類與ROI繪制邏輯5個(gè)源文件如DrawROI.cpp、GraphicsView.cpp實(shí)現(xiàn)事件響應(yīng)與場(chǎng)景管理輔以vcxproj工程配置、ui界面文件、qrc資源文件及filters過(guò)濾器結(jié)構(gòu)完整便于理解Qt圖形視圖架構(gòu)分層設(shè)計(jì)。資源包僅18KB輕量易讀已有2348人學(xué)習(xí)下載。讀者可直接編譯運(yùn)行掌握QPainter繪圖基礎(chǔ)、QGraphicsRectItem動(dòng)態(tài)控制、鼠標(biāo)事件press/move/release與鍵盤修飾鍵Ctrl滾輪協(xié)同處理等關(guān)鍵技能并復(fù)用代碼邏輯擴(kuò)展多邊形繪制、選中高亮、序列化保存等功能。1. 鼠標(biāo)拖拽畫矩形這件事為什么90%的初學(xué)者卡在“松手就消失”上你試過(guò)用QGraphicsViewQPainter實(shí)現(xiàn)鼠標(biāo)繪制矩形嗎不是靜態(tài)顯示一個(gè)框而是——按住左鍵拖動(dòng)時(shí)實(shí)時(shí)預(yù)覽輪廓松開后永久留下一個(gè)可選中、可移動(dòng)、可刪除的矩形對(duì)象。很多同學(xué)寫完發(fā)現(xiàn)拖動(dòng)時(shí)能畫一松手矩形就沒了或者畫出來(lái)的是 QPainter 在 viewport 上臨時(shí)涂的“影子”根本沒進(jìn)場(chǎng)景scene更常見的是多個(gè)矩形疊加后選中錯(cuò)亂、縮放失真、坐標(biāo)偏移幾十像素……這不是代碼沒寫完是根本沒理清 QGraphics 框架里「視圖-場(chǎng)景-圖元」三層職責(zé)的邊界。這套方案專為需要交付完整交互功能的課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)或小型圖形工具模塊而生它不依賴 Qt Quick純 QWidget 路線用QGraphicsRectItem做真實(shí)圖元用QGraphicsScene管理生命周期用QPainter只負(fù)責(zé)極簡(jiǎn)的臨時(shí)反饋——所有邏輯可調(diào)試、可擴(kuò)展、可答辯。適合正在啃 Qt 圖形模塊、被事件分發(fā)和坐標(biāo)系繞暈的 C 學(xué)生也適合要快速嵌入已有 UI 的工程師。2. 總體架構(gòu)設(shè)計(jì)三層分離與四類事件的精準(zhǔn)攔截Qt 圖形繪制最易混淆的就是把paintEvent()、mousePressEvent()、QGraphicsItem::paint()全塞進(jìn)同一個(gè)類里攪成一鍋粥。我們先立住骨架View 負(fù)責(zé)接收原始輸入Scene 負(fù)責(zé)狀態(tài)調(diào)度Item 負(fù)責(zé)自身渲染。整個(gè)流程不經(jīng)過(guò)任何自定義繪圖事件全部走 QGraphics 框架原生管線。這意味著你永遠(yuǎn)不需要重寫QWidget::paintEvent也不需要手動(dòng)調(diào)用update()觸發(fā)重繪——框架會(huì)自動(dòng)根據(jù)圖元變化刷新視圖。2.1 核心類職責(zé)劃分誰(shuí)該管什么絕不越界DrawingView繼承QGraphicsView只做三件事——捕獲鼠標(biāo)按下/移動(dòng)/釋放事件將視口坐標(biāo)轉(zhuǎn)為場(chǎng)景坐標(biāo)在拖拽過(guò)程中臨時(shí)創(chuàng)建/更新一個(gè)PreviewRectItem僅用于視覺反饋。它不持有任何業(yè)務(wù)數(shù)據(jù)不管理矩形列表不決定是否保存。DrawingScene繼承QGraphicsScene作為唯一狀態(tài)中心維護(hù)QListQGraphicsRectItem* m_rectItems提供addFinishedRect(QRectF)接口供 View 調(diào)用重寫mousePressEvent做全局點(diǎn)擊攔截比如點(diǎn)空白處取消當(dāng)前預(yù)覽所有持久化矩形的創(chuàng)建、刪除、ZOrder 排序都在這里完成。PreviewRectItem繼承QGraphicsRectItem一個(gè)輕量級(jí)臨時(shí)圖元僅在拖拽中存在。它重寫paint()方法用QPainter::setPen(Qt::DashLine)畫虛線框并禁用所有交互setFlag(ItemIsMovable, false)避免干擾主場(chǎng)景操作。DrawableRectItem繼承QGraphicsRectItem最終落地的正式圖元。啟用ItemIsMovable | ItemIsSelectable | ItemIsFocusable支持鍵盤刪除、雙擊編輯尺寸、右鍵菜單等擴(kuò)展能力——本方案已預(yù)留接口后續(xù)加功能不用改架構(gòu)。提示不要在DrawingView中直接 newQGraphicsRectItem后 add 到 scene。必須通過(guò)DrawingScene::addFinishedRect()統(tǒng)一入口否則 scene 無(wú)法感知新增圖元會(huì)導(dǎo)致items()查詢?yōu)榭?、信?hào)連接失敗等玄學(xué)問題。2.2 坐標(biāo)系轉(zhuǎn)換為什么你算的坐標(biāo)總差 20 像素Qt 中存在三套坐標(biāo)系Widget 坐標(biāo)以 widget 左上角為原點(diǎn)、Viewport 坐標(biāo)以 view 視口左上角為原點(diǎn)、Scene 坐標(biāo)以 scene 邏輯坐標(biāo)系原點(diǎn)為原點(diǎn)。鼠標(biāo)事件給的是 Viewport 坐標(biāo)但QGraphicsScene::addItem()要求 Scene 坐標(biāo)。錯(cuò)誤做法是手動(dòng)加減horizontalScrollBar()-value()—— 這在有縮放、平移時(shí)必然翻車。正確解法是使用框架提供的轉(zhuǎn)換函數(shù)// 在 DrawingView::mousePressEvent 中 void DrawingView::mousePressEvent(QMouseEvent *event) { if (event-button() Qt::LeftButton) { // 將 viewport 坐標(biāo) → scene 坐標(biāo)自動(dòng)處理縮放/滾動(dòng) QPointF scenePos mapToScene(event-pos()); m_startPos scenePos; m_previewItem new PreviewRectItem(); m_previewItem-setPen(QPen(Qt::blue, 2, Qt::DashLine)); scene()-addItem(m_previewItem); m_previewItem-setRect(QRectF(scenePos, scenePos)); // 初始寬高為0 event-accept(); } else { QGraphicsView::mousePressEvent(event); // 讓父類處理右鍵等其他事件 } }關(guān)鍵點(diǎn)mapToScene(event-pos())是唯一可靠方式。它內(nèi)部已封裝了QTransform矩陣運(yùn)算無(wú)論你是否調(diào)用scale()或translate()結(jié)果都精準(zhǔn)。我?guī)н^(guò)的某高校課程設(shè)計(jì)里A同學(xué)硬寫scenePos.x() horizontalOffset()結(jié)果在 125% 縮放屏下偏移整整 37 像素——從那以后我每次教坐標(biāo)轉(zhuǎn)換都強(qiáng)制讓學(xué)員先刪掉所有手算代碼只留這一行。2.3 拖拽狀態(tài)機(jī)四個(gè)狀態(tài)三處校驗(yàn)零內(nèi)存泄漏整個(gè)繪制過(guò)程本質(zhì)是一個(gè)有限狀態(tài)機(jī)狀態(tài)觸發(fā)條件View 行為Scene 行為Idle空閑未按下左鍵忽略所有 move/release無(wú)DragStart起始mousePressEvent左鍵記錄起點(diǎn)創(chuàng)建PreviewRectItem不添加到 items 列表Dragging拖拽中mouseMoveEvent更新PreviewRectItem的setRect()PreviewRectItem始終在 scene 中但不計(jì)入正式列表DragEnd結(jié)束mouseReleaseEvent刪除PreviewRectItem調(diào)用scene()-addFinishedRect()創(chuàng)建DrawableRectItem并加入m_rectItems狀態(tài)切換必須嚴(yán)格閉環(huán)。特別注意DragEnd時(shí)的資源清理// 在 DrawingView::mouseReleaseEvent 中 void DrawingView::mouseReleaseEvent(QMouseEvent *event) { if (event-button() Qt::LeftButton m_previewItem) { // 1. 獲取終點(diǎn) scene 坐標(biāo) QPointF endPos mapToScene(event-pos()); // 2. 構(gòu)造標(biāo)準(zhǔn) QRectF確保 leftright, topbottom QRectF rect QRectF(m_startPos, endPos).normalized(); // 3. 通知 scene 添加正式圖元 static_castDrawingScene*(scene())-addFinishedRect(rect); // 4. 徹底銷毀預(yù)覽項(xiàng)必須否則內(nèi)存泄漏 scene()-removeItem(m_previewItem); delete m_previewItem; m_previewItem nullptr; event-accept(); } else { QGraphicsView::mouseReleaseEvent(event); } }normalized()是血淚經(jīng)驗(yàn)當(dāng)用戶從右向左拖拽時(shí)QRectF(m_startPos, endPos)會(huì)產(chǎn)生負(fù)寬高導(dǎo)致QGraphicsRectItem渲染異常甚至崩潰。normalized()自動(dòng)交換坐標(biāo)保證 rect 合法。另外removeItem()和delete必須成對(duì)出現(xiàn)——Qt 文檔明確要求從 scene 移除后若不再使用必須手動(dòng) delete否則對(duì)象殘留內(nèi)存。3. 關(guān)鍵模塊實(shí)現(xiàn)從預(yù)覽虛線到可操作矩形的完整鏈路現(xiàn)在進(jìn)入真正要抄作業(yè)的部分。下面給出DrawingScene和DrawableRectItem的核心實(shí)現(xiàn)每段代碼后都附帶參數(shù)說(shuō)明和設(shè)計(jì)意圖不是貼完就走。3.1 DrawingScene狀態(tài)容器與業(yè)務(wù)中樞// drawing_scene.h class DrawingScene : public QGraphicsScene { Q_OBJECT public: explicit DrawingScene(QObject *parent nullptr); // 對(duì)外唯一添加正式矩形的入口 void addFinishedRect(const QRectF rect); // 獲取所有可操作矩形供外部查詢、導(dǎo)出、批量操作 QListQGraphicsRectItem* allDrawableRects() const; signals: void rectAdded(QGraphicsRectItem* item); // 供 UI 更新狀態(tài)欄如已繪制3個(gè)矩形 private: QListQGraphicsRectItem* m_rectItems; }; // drawing_scene.cpp DrawingScene::DrawingScene(QObject *parent) : QGraphicsScene(parent) { // 設(shè)置默認(rèn)畫布背景為淺灰便于看清白色矩形邊框 setBackgroundBrush(Qt::lightGray); } void DrawingScene::addFinishedRect(const QRectF rect) { DrawableRectItem *item new DrawableRectItem(); item-setRect(rect); item-setPen(QPen(Qt::black, 1.5)); // 正式圖元用實(shí)線 item-setBrush(QColor(200, 220, 255, 100)); // 半透明藍(lán)底 addItem(item); m_rectItems.append(item); // 發(fā)射信號(hào)上層可連接槽函數(shù)更新按鈕狀態(tài)或計(jì)數(shù)器 emit rectAdded(item); } QListQGraphicsRectItem* DrawingScene::allDrawableRects() const { return m_rectItems; }參數(shù)說(shuō)明與設(shè)計(jì)點(diǎn)setBackgroundBrush(Qt::lightGray)不是為了美觀而是解決一個(gè)經(jīng)典問題——當(dāng)用戶畫出純白矩形時(shí)在默認(rèn)白底上完全不可見。設(shè)為淺灰后即使setBrush(Qt::white)也能看清邊框。QColor(200, 220, 255, 100)中的100是 alpha 通道0~255取值 100 約等于 40% 透明度。這樣既能看到矩形覆蓋區(qū)域又不會(huì)遮擋底層內(nèi)容符合工程中“可疊加、可識(shí)別”的交互原則。allDrawableRects()返回QList而非QVector因?yàn)镼List在 Qt 中對(duì)指針類型做了優(yōu)化插入/遍歷性能更好且與QGraphicsScene::items()返回類型一致減少類型轉(zhuǎn)換。3.2 DrawableRectItem可交互圖元的最小完備實(shí)現(xiàn)// drawable_rect_item.h class DrawableRectItem : public QGraphicsRectItem { public: explicit DrawableRectItem(QGraphicsItem *parent nullptr); // 重寫 boundingRect 以支持精確點(diǎn)擊檢測(cè)非必須但推薦 QRectF boundingRect() const override; // 重寫 paint控制外觀細(xì)節(jié) void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget nullptr) override; protected: // 支持鍵盤刪除 void keyPressEvent(QKeyEvent *event) override; // 支持雙擊進(jìn)入編輯模式預(yù)留擴(kuò)展點(diǎn) void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override; }; // drawable_rect_item.cpp DrawableRectItem::DrawableRectItem(QGraphicsItem *parent) : QGraphicsRectItem(parent) { // 啟用所有基礎(chǔ)交互能力 setFlag(ItemIsMovable, true); setFlag(ItemIsSelectable, true); setFlag(ItemIsFocusable, true); // 設(shè)置選中時(shí)的虛線邊框Qt 默認(rèn)樣式 setPen(QPen(Qt::darkBlue, 2, Qt::DotLine)); } QRectF DrawableRectItem::boundingRect() const { // 擴(kuò)展 2px 邊界讓鼠標(biāo)在邊框外 2px 內(nèi)也能選中提升體驗(yàn) QRectF base QGraphicsRectItem::boundingRect(); return base.adjusted(-2, -2, 2, 2); } void DrawableRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { // 先調(diào)用父類繪制基礎(chǔ)矩形含選中高亮 QGraphicsRectItem::paint(painter, option, widget); // 如果當(dāng)前被選中疊加一個(gè)半透明遮罩層增強(qiáng)視覺反饋 if (isSelected()) { painter-save(); painter-setPen(Qt::NoPen); painter-setBrush(QColor(255, 215, 0, 80)); // 金色半透明 painter-drawRect(rect().adjusted(2, 2, -2, -2)); painter-restore(); } } void DrawableRectItem::keyPressEvent(QKeyEvent *event) { if (event-key() Qt::Key_Delete || event-key() Qt::Key_Backspace) { // 安全刪除先從 scene 移除再 delete if (scene()) { scene()-removeItem(this); } delete this; // 注意this 指針在此后失效 event-accept(); } else { QGraphicsRectItem::keyPressEvent(event); } } void DrawableRectItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) { // 預(yù)留此處可彈出尺寸編輯對(duì)話框 qDebug() Double clicked on rect: rect(); event-accept(); }設(shè)計(jì)說(shuō)明boundingRect().adjusted(-2,-2,2,2)是典型的人機(jī)工程技巧。人眼定位精度有限直接點(diǎn)擊像素級(jí)邊框極易失敗。擴(kuò)展 2px 后用戶點(diǎn)擊邊框外側(cè)也能觸發(fā)選中體驗(yàn)提升顯著。keyPressEvent中的delete this是 Qt 官方認(rèn)可的安全寫法見 Qt Docs: Object Trees Ownership 前提是確保該對(duì)象不在棧上創(chuàng)建且沒有其他強(qiáng)引用。本方案中所有DrawableRectItem均由new創(chuàng)建符合前提。paint()中的qDebug()是調(diào)試鉤子實(shí)際交付時(shí)應(yīng)替換為信號(hào)發(fā)射如emit sizeEdited(rect())供主窗口更新屬性面板。3.3 主窗口集成三行代碼啟動(dòng)繪制模式最后如何把這套模塊接入你的主 UI假設(shè)你用 Qt Designer 拖了一個(gè)QGraphicsView命名為graphicsView// main_window.cpp #include drawing_view.h #include drawing_scene.h MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui-setupUi(this); // 1. 替換默認(rèn) view 為自定義 DrawingView DrawingView *view new DrawingView(this); ui-graphicsView-close(); // 移除 Designer 創(chuàng)建的默認(rèn) view ui-verticalLayout-addWidget(view); // 假設(shè)布局名為 verticalLayout // 2. 創(chuàng)建自定義 scene 并設(shè)置給 view DrawingScene *scene new DrawingScene(this); view-setScene(scene); // 3. 連接添加信號(hào)更新 UI 狀態(tài)例如按鈕文字、計(jì)數(shù)器 connect(scene, DrawingScene::rectAdded, this, MainWindow::onRectAdded); } void MainWindow::onRectAdded(QGraphicsRectItem *item) { int count static_castDrawingScene*(ui-graphicsView-scene()) -allDrawableRects().size(); ui-statusBar-showMessage(QString(已繪制 %1 個(gè)矩形).arg(count)); }關(guān)鍵點(diǎn)不要試圖在 Designer 中“提升為”自定義類——QGraphicsView提升后無(wú)法在.ui文件中修改其scene屬性會(huì)導(dǎo)致編譯期綁定失敗。必須在代碼中new并setScene()這是 Qt 官方推薦的動(dòng)態(tài)集成方式。4. 避坑指南五個(gè)必踩的“松手就消失”型問題排查清單剛寫完代碼卻看不到矩形或者畫出來(lái)位置錯(cuò)亂別急著重寫先對(duì)照這份按發(fā)生頻率排序的避坑清單逐條排查。這些問題我在三個(gè)不同高校的畢設(shè)答辯中反復(fù)見到90% 的“畫不出來(lái)”都源于其中某一條。4.1 現(xiàn)象鼠標(biāo)拖拽時(shí)有虛線框松手后矩形徹底消失原因mouseReleaseEvent中調(diào)用了scene()-addItem(item)但item是棧對(duì)象或局部變量作用域結(jié)束即銷毀或addItem()后未調(diào)用item-show()雖然QGraphicsItem默認(rèn)可見但某些 Qt 版本在特定編譯選項(xiàng)下需顯式調(diào)用。解決確認(rèn)DrawableRectItem* item new DrawableRectItem()在堆上創(chuàng)建檢查addItem()后是否誤加了item-hide()用qDebug() scene()-items().size()在添加前后打印數(shù)量驗(yàn)證。4.2 現(xiàn)象矩形畫出來(lái)了但位置嚴(yán)重偏移比如總在左上角原因在mousePressEvent中用了event-pos()直接構(gòu)造QRectF而event-pos()是 Viewport 坐標(biāo)不是 Scene 坐標(biāo)。解決必須統(tǒng)一使用mapToScene(event-pos())轉(zhuǎn)換在addFinishedRect()中打印qDebug() start: m_startPos end: endPos驗(yàn)證坐標(biāo)值是否合理正常應(yīng)在 0~1000 范圍內(nèi)而非 0~100。4.3 現(xiàn)象畫多個(gè)矩形后只能選中最上面一個(gè)下面的點(diǎn)不中原因QGraphicsRectItem默認(rèn)zValue()為 0新添加的圖元會(huì)覆蓋舊圖元但QGraphicsScene::items()返回順序不保證 ZOrder更常見的是setFlag(ItemIsSelectable, true)沒在構(gòu)造函數(shù)中調(diào)用導(dǎo)致圖元不可選。解決在DrawableRectItem構(gòu)造函數(shù)中強(qiáng)制setZValue(0)檢查setFlag(ItemIsSelectable, true)是否執(zhí)行用scene()-sendEvent(item, new QMouseEvent(...))模擬點(diǎn)擊測(cè)試單個(gè)圖元響應(yīng)。4.4 現(xiàn)象縮放view-scale(2,2)后拖拽預(yù)覽框嚴(yán)重變形或抖動(dòng)原因PreviewRectItem::setRect()傳入的是未歸一化的QRectF(m_startPos, endPos)縮放時(shí)QRectF的寬高計(jì)算受變換矩陣影響產(chǎn)生浮點(diǎn)誤差累積。解決始終使用QRectF::normalized()構(gòu)造在PreviewRectItem::paint()中用painter-setRenderHint(QPainter::Antialiasing)抗鋸齒避免在mouseMoveEvent中高頻調(diào)用setRect()改為每 16ms約 60fps更新一次。4.5 現(xiàn)象程序退出時(shí)崩潰報(bào)QGraphicsScene: deleting items while scene is being destroyed原因DrawingScene析構(gòu)時(shí)m_rectItems中的DrawableRectItem*仍被 scene 持有而你在析構(gòu)函數(shù)中又手動(dòng)delete了它們?cè)斐呻p重釋放。解決DrawingScene析構(gòu)函數(shù)中只清空m_rectItems列表不 delete 任何指針因?yàn)镼GraphicsScene析構(gòu)時(shí)會(huì)自動(dòng) delete 所有addItem()過(guò)的圖元。正確寫法DrawingScene::~DrawingScene() { m_rectItems.clear(); // 僅清空列表指針由 scene 自動(dòng)管理 }注意Qt 的內(nèi)存管理規(guī)則是——誰(shuí)addItem()誰(shuí)負(fù)責(zé)removeItem()后的deleteQGraphicsScene析構(gòu)時(shí)會(huì)自動(dòng)removeItem()并delete所有子項(xiàng)。因此你只需在運(yùn)行時(shí)動(dòng)態(tài)刪除如 Delete 鍵無(wú)需在析構(gòu)時(shí)干預(yù)。5. 驗(yàn)收與答辯用三張表一個(gè)動(dòng)作讓老師當(dāng)場(chǎng)點(diǎn)頭畢設(shè)/課設(shè)答辯最怕什么不是代碼寫得不夠炫而是老師問“這個(gè)功能怎么驗(yàn)證”你支吾半天最后打開程序隨便點(diǎn)兩下效果還不穩(wěn)定。驗(yàn)收不是演示是用可復(fù)現(xiàn)的步驟、可量化的指標(biāo)、可回溯的日志證明你真的做完了、做對(duì)了、能用了。下面這套方法我在某高校連續(xù)三年指導(dǎo)學(xué)生答辯通過(guò)率 100%核心就一句話把“我實(shí)現(xiàn)了”變成“你按這步做立刻看到結(jié)果”。5.1 功能驗(yàn)收表五項(xiàng)核心能力逐條打鉤拿出一張紙或新建文本文件按順序執(zhí)行以下操作每完成一項(xiàng)打一個(gè) ?。只要有一項(xiàng)失敗說(shuō)明模塊未閉環(huán)必須返工。序號(hào)驗(yàn)證動(dòng)作預(yù)期結(jié)果失敗表現(xiàn)定位方向1啟動(dòng)程序鼠標(biāo)懸停在 view 區(qū)域狀態(tài)欄顯示“就緒”或無(wú)提示顯示“未初始化”或崩潰檢查DrawingScene是否成功setScene()2按住左鍵從 (100,100) 拖拽到 (300,200) 后松手場(chǎng)景中出現(xiàn)一個(gè)藍(lán)色虛線預(yù)覽框 → 松手后變?yōu)楹谏珜?shí)線矩形預(yù)覽框不出現(xiàn) / 松手后消失 / 位置偏移查mousePressEvent是否調(diào)用mapToScene()查addFinishedRect()是否執(zhí)行3用鼠標(biāo)點(diǎn)擊剛畫的矩形矩形邊框變?yōu)樯钏{(lán)色虛線狀態(tài)欄顯示“已選中1個(gè)”無(wú)反應(yīng) / 選中其他矩形檢查DrawableRectItem是否啟用ItemIsSelectable查boundingRect()是否正確4選中矩形后按 Delete 鍵矩形立即消失狀態(tài)欄計(jì)數(shù)減 1無(wú)反應(yīng) / 崩潰 / 閃退查keyPressEvent中delete this是否執(zhí)行用qDebug()打印scene()-items().size()5連續(xù)繪制 5 個(gè)矩形分別拖拽到不同位置所有矩形獨(dú)立可移動(dòng)、可選中、不互相遮擋某個(gè)矩形無(wú)法拖動(dòng) / 選中后其他矩形也移動(dòng)檢查每個(gè)DrawableRectItem的setFlag(ItemIsMovable)是否單獨(dú)調(diào)用確認(rèn)未誤設(shè)setParentItem()這張表的價(jià)值在于它把模糊的“功能正常”拆解成原子操作每個(gè)動(dòng)作都有明確輸入、確定輸出、失敗特征和排查路徑。答辯時(shí)你可以直接說(shuō)“老師請(qǐng)看第3項(xiàng)——我現(xiàn)在點(diǎn)擊這個(gè)矩形……您看邊框變色了狀態(tài)欄更新了這證明選中邏輯是通的?!?老師不需要懂代碼也能判斷你做對(duì)了。5.2 性能與健壯性驗(yàn)收兩個(gè)命令行指令定生死很多同學(xué)忽略非功能需求直到答辯被問“如果用戶瘋狂拖拽怎么辦”才慌神。其實(shí)只需兩條終端命令就能暴露所有隱患命令1壓力測(cè)試模擬高頻拖拽在mouseMoveEvent開頭加一行qDebug() MouseMove at QTime::currentTime().msec();然后快速左右拖拽 10 秒。觀察 Qt Creator 的 Application Output 面板如果出現(xiàn)大量重復(fù)日志如MouseMove at 123,MouseMove at 124,MouseMove at 125…說(shuō)明事件未節(jié)流可能卡頓。解決方案在DrawingView中加時(shí)間戳過(guò)濾// class member QElapsedTimer m_moveTimer; // in mouseMoveEvent if (m_moveTimer.elapsed() 16) return; // 限制 60fps m_moveTimer.restart();命令2內(nèi)存泄漏掃描Linux/macOS編譯時(shí)加-fsanitizeaddress參數(shù)運(yùn)行后執(zhí)行繪制→刪除→再繪制循環(huán) 10 次退出時(shí)查看終端輸出。若出現(xiàn)AddressSanitizer: heap-use-after-free說(shuō)明delete this時(shí)機(jī)錯(cuò)誤若出現(xiàn)leak summary: 5 bytes in 1 blocks說(shuō)明某個(gè)new沒配對(duì)delete。Windows 下可用 Visual Studio 的診斷工具原理相同。5.3 答辯話術(shù)用“問題-解法-證據(jù)”三段式征服老師別一上來(lái)就說(shuō)“我用了 QGraphicsView 和 QPainter”。老師想聽的是你遇到了什么具體問題怎么想到這個(gè)解法以及怎么證明它有效。我教學(xué)生的固定話術(shù)模板“老師這個(gè)模塊最大的挑戰(zhàn)是‘松手瞬間矩形丟失’問題。我最初以為是addItem()沒調(diào)用后來(lái)發(fā)現(xiàn)是坐標(biāo)系混亂——鼠標(biāo)給的是 viewport 坐標(biāo)但 scene 要 scene 坐標(biāo)解法。所以我強(qiáng)制所有坐標(biāo)轉(zhuǎn)換都走mapToScene()并在addFinishedRect()里加了qDebug()打印轉(zhuǎn)換前后的值證據(jù)。您看這是日志截圖起點(diǎn) (102.3, 98.7) → 終點(diǎn) (298.1, 199.4)完全在合理范圍內(nèi)。”說(shuō)完立刻切到程序現(xiàn)場(chǎng)演示從拖拽到松手的全過(guò)程同步念出日志內(nèi)容。這種“問題導(dǎo)向證據(jù)鏈”式表達(dá)比背誦技術(shù)名詞有力十倍。從那以后我每次帶學(xué)生做 Qt 圖形項(xiàng)目都強(qiáng)制他們?cè)趍ain()開頭加一行qInstallMessageHandler(customMessageHandler)把所有qDebug()輸出重定向到文件。答辯前夜他們把生成的debug.log打印出來(lái)夾在報(bào)告書里——老師翻到那頁(yè)看到密密麻麻的坐標(biāo)日志和? rectAdded基本就點(diǎn)頭了。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
大色综合网| 日韩中文字幕av在线播放| 亚洲欧洲自拍| 亚洲玖玖爱| 欧美亚洲性爱一区二区| 日本综合久久| 日韩无码黄色片| 97干色| 日韩欧美中文字亚洲慕| 中文字幕日韩精品一区二区三区| 床上啊啊啊一区二区三区| 国产亚洲日韩欧| 欧美色综合网| 久久久91| 免费试看60秒| 国产中出内射一区二区| 97国产超碰| 后入合集| 97久久久久久久久久| laoshunv91| 这里是精品| 国产丝袜视频| 中文字幕老熟妇黄色视频| 岛国黄色大片网站| 可以在线观看AV的网站| 欧美激情中文字幕另类小说| 一级久久久久久久久久久| 五月丁香六月综合缴清无码 | 久久激情婷婷| 男人的天堂久久久| 久久久久久久九九九九| 天天做天天爱| 蜜臀一区二区三区在线| 欧美色亚洲| 色97干| 国产综合久久久麻桃个| www.色吧5.com| AV一区观看| 成全动漫视频观看免费下载| 亚洲成人一区二区精品| 亚洲精品第一| www色色色com| 日韩紧密久久| 91丝袜激情在线| 啊啊啊啊二区好大| 青青草色情网站视频| 日韩欧美丝袜诱惑| 久日综合网| 九九九九九九九九九九九蜜桃| 学生妹天天看| 欧美综合色图片| 992视频一区| 天天澡天天狠天天天做| 韩国黄片aaaa| 日韩精品 资源| 台欧久久精品视频| 蜜臀人妻少妇久久在线观看| 韩国国产欧美情侣视频在线| 在线天堂资源亚洲| 国产精品 久久久精品一牛| 超碰免费人妻人人| 一级AV性爱| 都市激情人妻一区二区青青操视频 | av网站免费看| 亚洲最大成人a毛毛片| 亚洲精品日韩国产欧美| 久久av网| 男人天堂最新手机版在线青青草| 成人26uuu| 人妻少妇av在线观看| 欧美精品日韩一区二区| 中文字幕在线观看AV| Aa东京男人的天堂| 一区二区三区国产在线播放| 亚洲国产成人精品久久久国产成人一区二区三. | 目产99999久久999| 欧洲亚洲人妻无码高清久久三区四区| 日韩特级毛片免费观看全集| 国语精品内射在线观看| 三级片大波波| 人人爱人人乐人人操| 美女尤物人人操| 亚洲一区二区麻豆影院| 加勒比综合a∨| 97欧美综合| 国产一区二区在线播放量| 操逼网站地址| 一区,二区,三区视频| 9美女超碰在线免费观看| 成人免费看吃奶视频网站| 女人喷水视频在线观看| 操逼精品视频| 国产无码久久高清| 夜夜福利| 在线无码视频| 一区二区视频你懂的| 怡红院久久老司机| 白嫩国模丰满一二三区| 91久久18禁| 天天射日日干| 992这里有精品| 亚洲精品久久一区二区三区蜜桃臀| 日韩性爱啪啪视频| 国语人妻精彩刺激| 欧美综合1性辶| 美国精品国产精品| 国产专区路线| 百度百度日本操逼| 久久精品视频久久久| 爆操无码| 久久9精品网站| 操逼啊啊啊91| 亚洲综合 欧美| 老外又粗又长一晚做五次| 午夜精品久久久久久久男人的天堂 | 蜜桃久久久久久久久久久久| av在线一区二区三区| 欧美AB在线观看| 98久久超碰| 欧美色图天堂在线| 久久啊啊啊| 婷婷五月成人| 亚州男人天堂| 色色99| 人人操 欧美| 久插综合| 亚洲毛片一级带毛片基地| 淫骚熟女一区二区三区| 久久久久久AⅤ无码免费肉站| 99蜜桃臀亚洲成人在线观看| 亚洲,日韩,欧美,成人播放| 久操 高清| 操逼日批| 久久久九九| 99色色网| 最新岛国大片| 天天干夜夜肏| AA丁香综合激情| 后入国产| 蜜桃视频精品一区二区三区| 国产亚洲精品农村妇女| 日韩青久久| 欧美亚洲特P| 国产一级片| 2017天天拍大香蕉| 自拍亚洲综合| 色色色999| 色九久| 久久人人爽爽爽人久久久| 另类亚洲一区二区三区| 风月影院男女十八禁| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 日韩免费人妻色情网站| 26uuu国产亚洲综合| 精品视频97| 3028国产精品| 国产97在线 | 亚洲| a人欧美综合天堂麻豆| 久久久免费的精品| 91n欧美| 青女在线| 青青欧美在线| 久久国内| 亚洲黄色视频在线观看视频| 插插综合网天天影视网| 9 7超碰在线免费观看| 日韩一级特黄av毛片| 五十路熟女,国产欧美精品区一区二区三区| 91精品大奶人妻| 熟女激情综合网| 后入日本1234| 日韩精品第3页| 亚洲图片欧美另类综合免费视频大大香| 国产精品交换一区二区| 亚洲中文日韩欧美大香蕉视频| 国产剧情在线| 综合网亚洲在线| 欧美最婬乱婬爆婬性视频| 乱伦系列一区二区| 午夜福利av电影在线| 草草草视频| 久久久神马影院| 精品网站9999| 天美麻豆精品视频99| 亚洲欧洲日韩国产自在线| 一级性爱网| 伊人九九九| 青青青草伊人精品| 麻豆精品三区视频| 国产吹潮女在线观看| 久草色悠悠在线视频| 又大又黄国产| 成年女人一区| 日韩人妻网站| 久草资源在线视频官方总站日韩丝袜美腿| 久久九九99| 这里都是精品在线观看| 亚洲欧美国产成人综合不卡| 美女午夜福利免费视频| 大香蕉黄色一级片免费看| 国产亚洲福利第一页丝袜| 亚洲色交| 东京热毛片177b2viP| 欧美色道啊| 老司机午夜福利视频一区二区| 日本一区二区亚洲综合| 日本韩国国产精品一区| 亚洲日韩在线a不卡99精品| 欧美97爱| 午夜激情成人在线观看| 嗯啊抽插大香蕉网页| 大香蕉一区二区在线观看.| 99久久精品国产系列| 欧美男人天堂| 日本伦乱九九九综合 | 男人天堂一区二区| 熟妇熟女一区二三区| 99久久这里只有精品| 99re6久热只有精品6在线直播 | 欧美少妇人妻| 色视频蜜乳| 人人摸.人人色| 五月婷婷丁香六月丁香| 国产精品99久久久www| 91九色在线| julia高潮后不停追击中出| 婷婷色综合| 午夜精品99久久久久传媒| 久久国产视频性吧 | 综合欧美亚洲| 国产成年女人免费视频播放a| 黄色AAAAAAAAAAA大片| 人人操人人操草草| 日韩精品人妻中文字幕有码午| 亚洲限制级| 日本精品九九九| 一级A啪啪啪啪| 欧美淫穴| 精品人妻一二三四区视频| 蜜桃臀AV在线| 探花精品 一区二区| 色欲三区| 啊啊啊 在线观看| 亚洲情色在线| 亚洲成成熟女人综合一区二区| 一区二区三区视频| 偷看洗澡一二三区美女| 白丝1区2区3区| 欧美第一页| 日韩人妻丝袜中文字幕| 国产日韩欧美亚洲精品95| 久久婷婷色| 亚洲视频,小说| 941超碰| 9999久久久| 操逼片国产| 天天弄天天操| 舔人妻中文免费视频| 亚洲天堂久久久久久粉红视频| 韩日性爱av| 欧美日韩成人在线| 极品久久久久久久久久久久久久| 久久东京热久久| 操逼片中文| 九九九九88| 2020天天色综合| 三级特黄60分钟播放| 超碰99热| 欧美亚州综合网图片| 久久精品国产亚洲AV嘿嘿| 色色热| 久久久久久裸体| 大二网站亚洲| 欧美三级不卡| 精品高潮| 国产女人高潮视频| 亚洲 日本 不卡| 夜嗨影院| 骚鸭AV| 亚洲国产成人精品久久久国产成人一区二区三.| 久久精品一区二区三区不卡| 超碰久草| 亚洲最大的综合性av| 欧美亚洲美少妇一区二区| 美女裸体无遮挡永久免费观看网站| 最新国产亚洲精品精品国产亚洲综合 | 亚欧美色图| 色久桃花影院在线观看| 天天综合网在线| 97视频网站| 电影69乱码96| 啊啊啊无码| 91大学精品激情戏| 天天日天天操天天射河南省| 加勒比无码一区二区三区| 久久久涩| 青青操青娱乐| 日韩av性爱在线播放| 天堂av2019| 国产操逼网站亚洲一级黄色| 亚洲情色五月天| 明星性猛交ⅹxxx乱大交| 亚洲情色电影网| 天天影视色香欲综合网小说| 中文字幕视频2区| 97国产精品| 久草资源在线视频官方总站日韩丝袜美腿 | 男啪女色黄无遮挡免费观看| 国产九九久久久精品| 麻豆精品一区二区三区四区免费观看| 亚洲有薄码区日本系列中文字幕| 精品无码久久久久久久杏吧| 超碰在线97国产| 亚欧视频在线| 亚洲小说视频| 久久中出在线| 国产三区免费在线观看| 日比av无码| 精品久久久九九九孕妇| av绯色| 色约约一区=区三区| 国产欧美日韩女同性恋ww喷水精品| 日本操逼视频在线| 91 国产丝袜在线播放-百度| 色噜噜综合在线| 超碰日韩人妻| 99精品综合久久久久五月天| 久久精品亚洲婷婷| 欧美aaaaaaa| 久久久999国产精品| 蜜臀AV一区二区三区激情综合| 日韩免费看在线黄色片| 熟妇人妻精品一区二区| 久操视频免费观看| 又黄又爽在线观看视频| 天天看天天在线精品| 大粗鳼巴久久久久| 日韩久久艹| 亚洲激情综合| 操逼啊啊啊91| 久久午夜鲁丝片| av草草在线电影| 蜜桃传媒一区二区亚洲| 午夜精品久久久久久久99蜜桃一| 超碰在线人妻中文字幕| 97视频免费| 中文久久96| 日韩草久视频| 久久久国产成人一区二区三区在线| 大香蕉一级黄色片久久| 999久久芭蕾| 国产午夜视频| 丰满人妻一区二区三区免费,| 人妻 丝袜美腿 中文字幕| 久久久久久久9| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲自拍欧美国产首页网曝| 色99色| 无码日韩人妻av一| 亚洲无无码αⅴ每日更新| 九久9精品| 欧美综合自拍亚洲综合图| 美女的肌被草喷水视频| 国产馆极品诱惑| 婷婷五月综合激情| 91婷婷| 久久一区二区三区入口| 在线可观看的黄色网址| 欧美人与性动交a美精品| 尤物av网站免费在线播放| 欧美热图99| 色97国产69香蕉| 超碰一区二区| 欧洲亚洲综合| 啊啊啊男女| 亚洲欧美校园| 校园春色美腿丝袜 | 日B操| 亚洲中文字幕精品一区| 91老女人| 国产成年女黄特黄| 四虎午夜影院| 小日子操bb在线看| av无码精品久久久久| 97在线精品观看视频| 欧美激情视频在线一区| 欧美日韩色综合网| 久久久国产亚洲精品系列| 很黄很色的视频在线观看| 天天爽夜夜爽夜夜爽精| 超碰成人公开| 噜噜吧,噜噜色,噜噜| 毛片电影一区二区三区| 开心五月婷婷激情| 999狠狠综合| 欧美色图中文字幕| 亚洲男人综合网| 亚洲AV永久无码精品成人调教 | 综合色图亚洲欧美| 国产精品小视频一区二区三区| 欧美日韩国第一区| 豆1无夜无码| 日日夜夜骑| 老女人综合网| 久久五月天婷婷丁香中文字幕| 日日操丁香五月天| 91国产精品在线看| 9长久久精品| 玖玖综合视频| 亚洲一区二区三区在线激情| 亚洲天堂人妻熟妇视频| 婷婷五月天色色| 精品久久在线区一区| 伊人久久大香蕉线AV五月天| 亚洲欧美国产精品久久久久久久| 男人午夜天堂| 亚洲导航深夜福利| A V少妇特黄三级| 麻豆 亚洲 97| 久久日本熟妇熟色一区| 91成人久久 | 人妻 欧美 中文| 91在线丝袜| 国产在线播放成人免费| 无码人妻丰满热妇又大又粗| 狼人综合婷婷激情四射 | 收看日本人日bb| wwwss在线观看| 四虎视频在线观看| 1024精品在线| 操操逼操操逼操操逼逼| 97日韩| 亚州免费啪啪视频| 嗯阿好爽好紧| 亚洲人妻色图| 操逼不卡中文字幕| 狠狠夜色午夜久久综合在线| 亚洲极品| 一区二区三区美女超清| 五月天综合网| 九九九九一级| 国产精品久久aV| 久久99精品视频| 屌妞视频久久久久久久| 97aiaiai| 久/久精品99看9| 亚洲国产青青| 老熟女搡BBBB搡BBBB视频| AA丁香综合激情| 亚洲综合校园春色| 少妇一级无码精品| 久久男人的天堂国产| 国产欧洲精品亚洲午夜拍精品| 亚洲美女AV无码| 亚洲一区二区性爱电影| 欧美97视频| 亚洲啪啪视频免费| 久久久久久久久久久97| 色五月av| 欧美午夜精品久久久久久3D| 午夜传煤十二区精品| 成年人一级黄色毛片大全在线观看| 日本精品国产视频| av网站国产主播在线| 五月天激情婷婷| 天堂亚洲精品| 亚洲老熟妇xxx| 午夜传煤十二区精品| 亚洲一区二区性爱电影| 日日碰视频网| 女人被添高潮免费视频| 97欧美资源| 91精品久久综合熟女| 91男女| 久久伊人青青草| 69XX一中文字幕人妻91| 欧美 亚洲 大香| 91色人妻| 99色骚| 人妻系列无码专区中文有码| 久久久久久99999国产精品| 性爱乱伦网址| 99re久久| 78久久久| 91三级理论片播放器| 中文在线视频| 六月丁香啪啪啪| 久久久久国产精品久久久| 日本精品人妻少妇一区二区| 91丨豆花丨熟女| 日本黄页视频在线观看| 天天躁日日躁AAAXX| 这里只有97精品| 天美av在线观看| 欧美日韩*字幕一区| 色天堂综合| 婷婷中文网| 亚洲在线91| 欧美狠狠弄| 91人妻中文| 精品人妻少妇| 人人综合| 青青草日韩无码| 亚洲人成网站7777| 校园春色家庭伦理欧美激情| 丁香六月婷婷综合| 逼操网站| 综合久久2017| 天美传媒av在线| 五月丁香| 亚洲五码一区二区三区| 天美传媒AV在线| 欧美色图 人妻| 五月婷婷激情| 亚洲精美粉嫩嫩泬在线观看| 亚洲天天操| 青青操视频在线| 国产人妻精品久久久一区二区三区| 国产精品盗摄 偷窥盗摄| 久久精品无码不卡| 99九九久久| 97人人超| 97精品熟女少妇一区| 不卡在线观看视频| 国产麻豆一区二三区| 天天欧美欧美亚洲网| 国产精品探花视频| 欧美日韩插逼视频| 性色综合网| 亚洲欧美日韩中文久久自慰| 啊啊啊好舒服好爽啊啊啊视频| 男女一级A片大黄,一进一出| 强奸乱伦AV网站| 国产白丝精品在线观看| 综合色欧美| 欧美亚洲激情一二三| 亚洲男人的天堂V| 99性视频| 国产成人无码久久精品| 伦伦成年午夜免费视频| 操啊国产| 国产综合日韩伦理| 欧美综合另类| 日本天天干天天操一区| 91美女精品| 欧美专区17页| 人人摸人人舔一区二区| 亚洲综合情色| 精品久久九| 亚州再线| 久久国模av| 91撸色网 玖玖网 欧美| 北条麻妃99精品青青久久| 色色国产| 一区二区偷拍拍视频| 激情看片网站| 狠狠操狠狠爱| 五月色丁香| 久久婷婷五月综合| 亚洲激情综合| 91久热这里只有精品| 情侣开房子拍 日韩无码 女的很漂亮| 伊人亚洲国产一成人久久精品,久久| 这里都是精品在线观看| 国产免费久久久久| 精品色色| www.97在线| 特级大荫道BBwBBwBBW| 欧美一二三区四五区| 天天综和| 亚洲综合骚逼| 天天操天天干美女网址导航| 诱惑网综合| 最新日本中文字幕| 日韩在线性爱免费视频| 亚洲精品第一| 大香蕉520| 玖玖97综合| 91偷拍欧美亚洲| 一区,二区,三区视频| 少妇色综合| 91操熟女视频| 91P0RNY大屁股人妻| 91人妻最真实刺激绿帽| 一区二区三区四区免费视频| 99热91| 手机不卡视频不卡在线一二三区| 一区,二区,三区视频| 97超级色碰碰| 91东北熟女| 再深点灬舒服灬太大了添视频 | 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 久久激情视频| av网站在线看| 91精品无码人妻系列| 一二三区在线| 91美女视频在线免费观看| 久久精品一区一起草| 国产强奸无码乱伦| aaaa黄片| 亚洲棕合电彰| 超碰97久| 天天操人人操狠狠插| 再深点灬舒服灬太大了好硬好爽| 亚洲欧美色综合| 后入精品| www.伪伪| 日本不卡三级网在线播放| 国产风韵犹存熟妇三区| 亚欧免费观看视频| 久草五月| 亚洲怡春院| 伊人网青青| 人妻少妇久久久| 夜夜 中文视频rt| 一区二区乱码福利| 婷婷中文字幕| 碰人碰碰人人开房人肉| 91av一区二区在线观看| 殴美性色a级欧美| 91精品国| 黄页视频网站野外| 韩国三级三级BD在线| 友优传媒精品在线一区二区| 色一色综合网| 色网综合网| 亚洲春色欧美激情自拍| 翘臀vidoes| 91情色在线| 欧美一区二区亚洲天堂| 色九九综合AV| 日韩欧美一级特黄大片| 成人在线视频一区| 69XX一中文字幕人妻91| 69精品在线| 色婷婷一区二区三区久久| 中文字幕一区日韩精| 人妻少妇久久中文| 国产福利小视频高清在线观看| 日韩在线97| 日韩激情无码影院| 91jk色拍| 欧美性生活男人的天堂| 台湾肥佬网一区二区三区| 日韩三级伊人| 91老司机在线视频免费观看| 天天激清| 少妇一区二区三区在线观看| 自拍内地三级在线观看| 国产精品久久久蜜臀| 欧美成人性爱视频在线播放| 亚洲码和欧洲精品激情系列| 囯产精品久久久久久久久久梁医生 | 五月丁香啪啪啪| 97神马久久| 丁香五月激情五月| 久久久少妇| 97久久超碰国产网站| 欧美五十路熟| 色爽——AV| 国产亚洲色婷婷久久99精品91| 久久久极品| 又黑又大又粗| 操操逼视频| 蜜臀无码一区二区| 九九热超碰| 亚洲无线观看久久| 欧美色图 人妻| 久久久精品视频免费观看| 91日韩网站| av天天在线观看| 亚洲一区操| 激情久久日韩精品中文字幕麻豆| 超碰在线国产| 91丨国产丨白浆秘 洗澡动漫| 内射黑人| 久久这里只精品99re66图| 亚洲风情在线观看| 日日橹狠狠爱欧美超碰| 亚洲欧洲综合视频在线| 欧美一级在线观看成人| 内射卯月麻衣| 免费夜夜爱黄色视频毛片| 日本人妻伦在线中文字幕| 日本熟妇色熟妇在线视频播放| 色吧五月| 国产一在线观看| 就去色综合| 亚洲吊色| 91婷婷伊人狠人| 色色色欧美| 另类图片综合| 亚洲怡春院| 免费的av网| 久久草在线综合视频| 国产午夜精品理论片a大结局| 97超碰这里只有精品| 五月丁香在线| 国产操偷| 午夜福利1区2区3区| 欧美日韩亚洲少妇寂寞影院正在播放| 日韩伦理视频| 综合婷婷| 久久精品中文字幕无码l| 久久久精品网站| 欧美久久人体| 性欧美精| 诱惑人妻欧美一区在线播放| 亚洲欧美精品一区天堂久久 | 欧美日韩国产色五月综合在线| 中文字幕视频2区| 久久丁香五月天| 一区二区三区四区免费视频| 在线毛片片免费观看| 中国91AV| 大香蕉日亚洲日本亚大 | 国产福利电影| av中亚| 久久香蕉国产线看观看亚洲女人 | 天天色天天干天天爱| 国产60页| 亚洲毛片基地专区| 欧美伊人电影| 欧美日韩小说| 一本大道久| 亚洲drav色图| 加勒比伊人综合| 亚洲激情色片| 老熟妇综合| 日本少妇va7777| 国产精品情侣啪啪| 青青草原人妻| 精品久久青青草| 中文字幕人妻丝袜| 欧美视频在线第3页| 国产少妇肉丝在线观看| 日本高清久久| 亚州伊人色综台| 国产精品色色| 日韩精品区二区三区不卡| 久久99视频| 九九九九九九九精品视频| 亚洲中文字幕网| 亚洲AV无码国产成人| 国产一区二区视频在线播放| 午夜国产成人福利视频| 在线看免费无码AV天堂的| 天天干天天狼在线视频| 国产成人无码久久精品| 91啪啪| 欧美视频在线第3页| 手机av天堂久久久久| 高清不卡一二三区视频......| 中文字幕91综合| 亚洲激情 欧美色图| 欧美日韩国产电影| 天堂射| 亚洲se电影| 亚洲高清欧美总合| 日本久久女同性恋视频| 蜜乳AV.COM| 欧美激情中文字幕另类小说| 91呆哥人妻| 九九久久九九久久| 日本999精品视频| 污电影在线观看| 欧美日韩欧美| 欧美日韩插逼视频| 国产区性爱在线视频秋霞豆| 91九色精品熟女内射| 蜜色网色哟哟| 嗯嗯嗯啊啊啊干死我吧| 亚洲成人AB| 97超碰护士| 亚洲av综合色区无码一| a久久| 国产熟妇一区二区| 校园春色美腿丝袜| 日婷婷| 综合五月婷婷| 69视频福利导航| aV中文麻| 懂色av色欲av蜜臀av| 精品久久99| 最新av在线| 另类欧美色| 奇米狠999| 一区二区久久天天干狠狠| 我中文字幕6区 | 日本特黄f c2| 日韩黄色小说| 超碰97人妻免费在线| 久久美女福利是上海美女| 亚洲aw毛茸茸在线| 怡春院久久| 国产偷仑| 中文乱码字幕观看| 欧美黄片欧美黄片xxx| 极品粉嫩一区二区| 女人香蕉久久毛毛片精品| 一级岛国大片| 亚洲 欧美 中文 日韩超碰 | 逼逼逼逼操操操操操操操操操午夜剧场| 欧美九9 9 9| 国产欧美日产一区二区三区 - 国产欧美日 | 亚洲午夜福利在线影院| 男人下部插入女人下部| 黑人性暴力毛片| 性影在线视频| 二对二中文字幕。| 91中出| 五月丁香久久| 骚鸭AV| 国产AV无码AV| 欧美成人色| 日韩特级毛片免费观看全集| 男人的天堂不卡一区二区 | 色综合天天| 日韩成人小视频| 久久久成人国产精品无码| AV丝袜东京热| 欧美日韩黄片精品在线| 嗯阿好爽好紧| 日韩成人无码| 日韩人妻少妇中文字幕| 男女国产精品| 国产原创自拍| 天天射夜夜骑| 猛交交| 国产传媒av天美传媒在线| 五月天婷婷激情| 日日摸日日碰夜夜爽视频| 91站街按摩店老熟女熟女| 97久久久久久久久久| 久草免费在线一区二区| 肉丝无码中文高清| 国产第25页在线观看| 青青草日韩免费观看高清在线| 激情无码日韩| 九九九九一级| 婷婷深爱五月| 亚洲第一页色网| 精品区9| 亚洲av成人精品一区| 男人的天堂2018东京热啪啪啪| 搡老女人老熟女91老熟女综合网| 98色网| 啪啪性爱免费视频| oumeizonghese,www| 久久久亚洲高清不打码| 夜夜夜夜爽| 九月丁香婷婷| 亚洲无码com| 久久国产对白激情浪潮| 久久一区二区高清免费| 欧美性爱三区二区| 少妇九九九九| 亚洲男人天堂2019| 乱操乱伦AV| 色爽——AV| 99综合网| 国产精品久久妻无码网站| 大香蕉男人的天堂| 性一交一乱一交A片久久四色| 欧美天天搞| 啊啊啊啊在线观看网址| 九月丁香综合网| 99热伊人| 一区二区不卡| 日日夜夜狠狠| 翔田千里一区二区三区奶水| 四季av一区二区凹凸精品小说| 美女黄色一级A视频| 欧美激情视频在线一区| 国内成人圈中文字幕无码视频| 99视频只有精品| 国产精品久久久久久高清无码免费看| 亚洲综合情色| 鲁鲁色综合网| 日韩成人精品视频自拍| 欧美色青| 嫩草91| 亚洲瓯美色图| 色婷婷基地| 中文字幕一区二区在线日韩精品| 欧美亚州综合网图片| 97干天天| 欧美|91色综合| 手机在线人成免费视频| 97色碰| 丰满欧美放荡少妇在线| 偷拍亚洲高清图片| 天天日天天插| 黄页视频网站野外| 黄色免费网| 天天干夜夜鈤| 五十路人妻在线| 中文字幕视频2区| 91chinese在线| 97国产高清视频在线观看| 亚洲高清视频在线免费观看| 欧美色老汉| 精品乱码久久久久| 久草久热| 开心五月天激情网| 26uuu国产免费观看| 亚洲乱色熟女一区| 97免费在线视频| 欧美姓爱综合网| 91在线丝袜| 欧美日韩亚洲五月天婷婷| 啊啊啊啊啊啊啊国| 97在线精品| 国产av美女被艹的乱叫| 久综合国内精品自在自线| 啊啊嗯嗯好爽| 78超碰| 日逼97| 黑人性欧美| 久草电影网| 91色综合色| 久久亚码| 999 久久久| 91精品丝袜久久久久久无码人妻| 四虎影库国产精品免费| 欧美日不卡| 激情五月天色播| 另类小说五月天| 9久久精品| 日本中文字幕在线电影| 人人做人人妻人人夜视频| 欧美另类综合久久| 中日亚韩免费视频| 一级黄色视频网| 成人激情无码在线视频| 乱伦图av| 强奸乱伦资源| 亚洲色图 91| 久久精品噜噜噜成人看免欧美大片| 麻豆区久久久久亚| 久肏视频字幕| 国产精品农村妇女| 96一区二区| 啊啊啊在线观看| 人妻精品视频一区二区三区| 日本色色色网站免费看不卡| 日本孕妇一区二区视频操逼免费看 | 成人黄页| 久久中文字幕女同性恋一区| 欧美亚洲韩国视频十五区| www.acm成人黄色毛片| 亚洲丝袜二区在线| 亚洲人妻爽爽爽| 神马久久久久久久| 一个国产在线综合网站| av网页一区二区三区| 福利在线黄片| 少妇一线天久久久久久| 久久伊人网视频一区二区三区| 狠狠夜色午夜久久综合在线| 欧美传媒一区| 97欧美综合网| 精品人成视频在线观看| 久综合国内精品自在自线| 国产小黄片在线免费观看| 九九碰九九爱97| 淫色网综合| 国产乱码久久久久久| 午夜美女诱惑电源网| 东京热一区二区中文字幕| 四虎国产精品永久地址入口| 操逼操操操91| 7月婷婷综合| 亚洲偷91色| 日韩欧美加勒比| 色婷婷视频| 国产11页| 人妻人妻天天碰| 97干在线视频| 亚洲 自拍偷拍 欧美| 狠狠爱综合网| 狠综合网| 色爱亚洲| 日本高清_区二区三区| 国产av尤物| 欧美男人亚洲天堂| 国产传媒日韩| 国产三区免费在线观看| 久久久久久大| 91模特在线观看| 色婷婷六月丁香七月婷婷| 中文字幕性感少妇av| 久久的网站啊啊啊啊啊| 色欲久久99精品久久| 一级乱伦网站| 青娱乐日韩无码| 大香蕉色网| 欧美91变态| 福利在线黄片| 操一区| 久久久久亚洲Av无码专区老牛影视| 嫩草影院性色| 91美女视频在线| 操人妻视频| 中文字幕av乱伦| 超碰夫妻97| 欧美性xxxxx狂欢| 91五月天| 少妇精品久久久八区九区| 亚洲欧美在线观看无码| ss久久| 99热在线观看| 啪啪啪大香蕉| 日韩电影免费网站麻豆视频| 中文日本免费高清| 国产怡红院| 特色a在线上| 狠狠干综合| 亚洲色图片区| 色777999综合| 国产麻豆福利av在线播放| 久久av网| 乱伦熟妇一区二区| 在现视频女上位好爽| 老鸭窝成人免费毛片视频| 日韩中文字幕视频在线观看| 长久操视频| 日韩国产欧美伦理在线| 久久国产精品,久久国产| 综合网91| 日韩女优在线| 久久久蜜桃臀无码视频| 又大又白奶子| 蜜桃久久一区二区| 色噜噜综合在线| 久久激情婷婷| 久久国产99精品72福利 | 亚洲中文字幕97久久精品少妇| 97超级久久| 欧美男人一区| 美女久久久久久久久久久| 天天干天天拍| 久久人妻| 高树玛利亚无码流出| 亚洲欧洲av影音| 性色国产东北露脸精品视频| 一个国产在线综合网站| 色www精品视频在线观看| 伦伦成年午夜免费视频| 亚洲国产中文字幕| 欧美 亚洲 偷拍自拍| 国产精品农村妇女| 99国内精品| 欧美人人操人人插| 97精品视频网站| www国产天美久久久| 台湾佬中文娱乐网久久久久久久久久com| 国产精品探花在线| 超碰天天去日穴| 久久五月份| 中文字幕美女91| 久久久久无码一妻区| 久久性爱城| 中欧人妻丝袜中文字幕| 久久伊人网视频一区二区三区| 中文字幕精品一区欧美| 天堂精品| 1024久久高清视频| 欧美五十路熟| 啊啊啊 在线| 精品无码久久久| 五月丁香拍拍激情综合三级| 欲色综合| 中文字幕88av在线| 精品伊人久久久大香线蕉小说| 欧美精品庄| 蜜臀AV成人精品蜜臀| 国产成人在线观看综合| 人妻夜夜爽天天爽三区麻豆AV网站| 99操| 综合熟女| 日本操色导航| 人人操人人肉久久精品| 女生自91网站| 五月天婷婷色色| 伊人丁香五月婷婷| 亚洲欧美不卡线| 日韩有码回春沙龙第一页| 久久久四区| 久久伦理视频久久大香蕉视频| 加勒比伊人综合| 国产免费一区在线观看| 中文字幕一区二区视频在线观看| 操学生天天| 中文字幕一区二区三区视频播放| 人妻精品视频一区二区三区| 嗯嗯啊啊的视频| 亚洲综合色男人网| 欧亚乱色熟女一区二区| 久久精品一区二区三区四区五区| 欧美激情久久久久| 久久久久久中文字幕中文字幕最新| 国产精品一区二区三区,亚洲综合| 色欧美亚洲| 亚洲精品久久久久久| 97这里都是精品| 能看的av| 伊人久操| 国产成人自拍视频视频| 97超碰色情| 精品欧美日韩在线观看| 精品人妻夜夜草| 欧洲色色| 全球成人中文在线| 激情五月天插| 免费AV中文网在线观看| 麻豆熟妇乱妇熟色A片在线看| 蜜屁Av| 日韩人妻资源网| 免费看久久久性性| 午夜视频好爽啊| 国产JDAV无码视频在线观看| 亚洲美女精品九九视频| 人妻熟女一区二区| 男人的天堂VA在线| 日韩影片中文字幕一区二区三区| 婷婷久久五月天| 3p国产欧美99热| 无码高清专| 黄片免费久久久久久久| 国产亚洲性生活视频播放| 亲子敌伦对白在线播放| 九九九精品美女| 97在线视频观看免费| 久久人妻无码毛片A片麻豆| 色婷婷成人综合| av婷婷色网| 熟女天天干| 色欲天天综合久久久无码网中文| 玖玖无码超碰| 天美传媒精品久久视频| 亚洲久草AV色图| 蜜臀久久精品久久久久视频| 乱久久久| 亚洲熟女偷拍在线观看| 综合91网| 日本孕妇孕交| 色哟哟AⅤ| 免费日韩黄片| 九色精品视频导航1| 天天艹天天日| 国产综合网站在线播放| 91丨熟女丨丰满熟女| 欧美国产伊人久久久久| 天堂8在线新版官网| 99热只有这里有精品| 久热91| 九九热男人天堂| 亚熟在线| 久色99999|