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

ARTICLE DETAIL

資訊詳情

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

PyQt5+SQLite3打造Windows原生便簽工具實(shí)踐

PyQt5+SQLite3打造Windows原生便簽工具實(shí)踐 1. 項(xiàng)目概述為什么一個(gè)“放棄式”命名的便簽反而成了我每天打開(kāi)三次的桌面剛需“abandon便簽”這個(gè)名字剛看到時(shí)我下意識(shí)皺了眉——誰(shuí)會(huì)把日常高頻使用的工具起名叫“放棄”但點(diǎn)開(kāi) GitHub 倉(cāng)庫(kù)、編譯運(yùn)行、拖拽新建三張便簽、隨手記下會(huì)議待辦、貼在屏幕右上角不遮擋工作區(qū)……五分鐘后我就把它從“試試看”挪進(jìn)了開(kāi)機(jī)自啟列表。它不是那種花里胡哨帶云同步、AI分類、跨平臺(tái)推送的“智能便簽”而是一個(gè)專注本地、極簡(jiǎn)交互、審美在線、零學(xué)習(xí)成本的 Windows 桌面原生級(jí)小工具。核心關(guān)鍵詞非常清晰abandon便簽、PyQt5、SQLite3、PyInstaller、Windows——這五個(gè)詞串起來(lái)就是一條從代碼到可執(zhí)行文件的完整技術(shù)鏈路也是它能在一堆 Electron 垃圾便簽中脫穎而出的根本原因。它解決的不是“有沒(méi)有”的問(wèn)題而是“用得爽不爽”的問(wèn)題沒(méi)有后臺(tái)進(jìn)程常駐托盤偷資源沒(méi)有聯(lián)網(wǎng)權(quán)限申請(qǐng)彈窗打斷思路沒(méi)有字體模糊、縮放失真、拖拽卡頓這些 Windows 原生應(yīng)用才該有的體感。適合誰(shuí)適合所有被 Chrome 擴(kuò)展便簽吃掉 2GB 內(nèi)存、被 UWP 應(yīng)用強(qiáng)制全屏、被網(wǎng)頁(yè)版自動(dòng)同步搞丟過(guò)重要草稿的 Windows 用戶也適合想學(xué)桌面開(kāi)發(fā)的新手——它代碼干凈、結(jié)構(gòu)透明、依賴極少是 PyInstaller 打包 PyQt5 SQLite 的教科書級(jí)范本。我把它裝在三臺(tái)不同配置的 Win10/Win11 機(jī)器上從 i3 筆記本到 Ryzen9 工作站啟動(dòng)時(shí)間穩(wěn)定在 0.8~1.2 秒內(nèi)存占用峰值不超過(guò) 35MB連殺毒軟件都懶得報(bào)它。2. 技術(shù)選型深度拆解為什么不用 Electron、不用 .NET、不用 Flutter2.1 放棄 Electron不是它不好而是它太“重”了很多人第一反應(yīng)是“做個(gè)便簽還用寫原生Electron 五分鐘搞定”——這話沒(méi)錯(cuò)但代價(jià)是什么一個(gè)空殼 Electron 應(yīng)用打包后體積動(dòng)輒 120MB 起步啟動(dòng)時(shí)先拉起 Chromium 渲染進(jìn)程、再加載 Node.js 運(yùn)行時(shí)、最后才渲染你的 HTML 頁(yè)面。我在測(cè)試機(jī)上對(duì)比過(guò)abandon便簽雙擊啟動(dòng)到可編輯狀態(tài)耗時(shí) 1.1 秒SSD同功能 Electron 版本實(shí)測(cè) 4.7 秒且初始內(nèi)存占用 186MB。更致命的是Electron 在高 DPI 屏幕比如 2K/4K 筆記本上默認(rèn)縮放異常文字發(fā)虛、按鈕邊緣鋸齒你得手動(dòng)配--force-device-scale-factor或?qū)?CSS hack而 abandon 用 PyQt5 的QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)一行代碼就完美適配。這不是“技術(shù)潔癖”是真實(shí)場(chǎng)景下的體驗(yàn)斷層你記個(gè)“下午三點(diǎn)交方案”需要等 4 秒它不配叫“便簽”它叫“等待器”。2.2 拒絕 .NET WinForms/WPF跨平臺(tái)枷鎖與部署門檻.NET 生態(tài)做桌面確實(shí)成熟但 abandon 的定位是“純 Windows 輕量工具”不是企業(yè)級(jí)應(yīng)用。WinForms 界面老舊、DPI 適配需手動(dòng)計(jì)算縮放比WPF 雖然現(xiàn)代但要求目標(biāo)機(jī)器預(yù)裝對(duì)應(yīng)版本 .NET Runtime——Win10 默認(rèn)只帶 .NET 4.8而 WPF 6 需要 .NET 6 Desktop Runtime用戶得額外下載安裝包。我試過(guò)打包一個(gè) WPF 便簽安裝包里塞了 120MB 的 runtime用戶第一反應(yīng)是“這便簽是不是帶病毒”PyQt5 則完全不同它通過(guò) PyInstaller 打包后所有依賴包括 Qt 庫(kù)全部靜態(tài)鏈接進(jìn)單個(gè) exe用戶雙擊即用連 Python 環(huán)境都不需要。這才是真正意義上的“綠色軟件”。另外PyQt5 的信號(hào)槽機(jī)制比 WinForms 的事件委托更直觀比如便簽窗口關(guān)閉時(shí)觸發(fā)self.closeEvent直接調(diào)用self.save_to_db()寫入 SQLite邏輯鏈條短、易調(diào)試、無(wú)回調(diào)地獄。2.3 不碰 Flutter Desktop成熟度與 Windows 原生感的取舍Flutter Desktop 對(duì) Windows 的支持直到 2023 年才進(jìn)入 stable但它的渲染層基于 Skia和 Windows 原生控件如標(biāo)題欄、系統(tǒng)菜單、任務(wù)欄縮略圖預(yù)覽是隔離的。abandon 便簽的“審美在線”關(guān)鍵在于兩點(diǎn)一是使用 Windows 原生窗口邊框和標(biāo)題欄最大化/最小化按鈕樣式與系統(tǒng)一致二是支持 Aero 毛玻璃效果通過(guò)win32api調(diào)用 DwmEnableBlurBehindWindow。Flutter 目前無(wú)法直接調(diào)用這些 API你得寫 platform channel 插件復(fù)雜度陡增。而 PyQt5 天然支持QMainWindow的setWindowFlags(Qt.FramelessWindowHint)win32gui組合拳幾行代碼就能實(shí)現(xiàn)半透明圓角毛玻璃背景視覺(jué)上和系統(tǒng)融為一體。這不是炫技是降低用戶認(rèn)知負(fù)荷——當(dāng)便簽看起來(lái)就像系統(tǒng)自帶的 Sticky Notes用戶才會(huì)無(wú)意識(shí)地信任它、依賴它。2.4 SQLite3為什么不是 JSON 文件也不是輕量級(jí) ORM便簽數(shù)據(jù)量極小每條記錄只有 id、content、x、y、width、height、color、created_at 字段日均新增不超過(guò) 50 條。有人提議用 JSON 文件存簡(jiǎn)單粗暴。但問(wèn)題立刻浮現(xiàn)多便簽同時(shí)編輯時(shí)如何加鎖JSON 文件讀寫是全量覆蓋100 條便簽每次保存都要序列化/反序列化整個(gè)數(shù)組IO 延遲明顯更麻煩的是JSON 無(wú)法做原子性操作——萬(wàn)一寫入中途斷電文件直接損壞。SQLite3 完美規(guī)避這些問(wèn)題它本質(zhì)是嵌入式數(shù)據(jù)庫(kù)單文件存儲(chǔ)但支持 ACID 事務(wù)。abandon 中每次拖拽調(diào)整位置、修改內(nèi)容、刪除便簽都封裝在BEGIN TRANSACTION和COMMIT之間。我故意在保存過(guò)程中拔掉 USB 供電模擬斷電重啟后數(shù)據(jù)完好無(wú)損。另外SQLite3 的PRAGMA journal_mode WAL開(kāi)啟后讀寫可以并發(fā)不會(huì)阻塞 UI 線程。對(duì)比 ORM如 SQLAlchemy它過(guò)于重量——abandon 全局只用 7 行 SQLCREATE TABLE、INSERT INTO、UPDATE ... WHERE id?、DELETE FROM ... WHERE id?、SELECT * FROM notes ORDER BY created_at DESC。手寫 SQL 比寫 ORM 映射類更直覺(jué)、更可控、更少出錯(cuò)。記住工具越簡(jiǎn)單故障點(diǎn)越少對(duì)便簽這種“寫少讀多”的場(chǎng)景SQLite3 就是黃金標(biāo)準(zhǔn)。3. 核心功能實(shí)現(xiàn)詳解從界面設(shè)計(jì)到數(shù)據(jù)持久化的完整閉環(huán)3.1 PyQt5 界面構(gòu)建如何用 200 行代碼做出“呼吸感”UIabandon 便簽的 UI 看似簡(jiǎn)單但每個(gè)細(xì)節(jié)都經(jīng)過(guò)權(quán)衡。主窗口繼承QMainWindow但禁用默認(rèn)菜單欄和狀態(tài)欄self.setMenuBar(None); self.setStatusBar(None)因?yàn)楸愫灢恍枰@些。核心是NoteWidget類每個(gè)便簽都是一個(gè)獨(dú)立的QWidget實(shí)例包含頂部工具欄關(guān)閉按鈕、顏色選擇器、置頂開(kāi)關(guān)、中部富文本編輯區(qū)QTextEdit、底部狀態(tài)欄顯示字?jǐn)?shù)和最后修改時(shí)間。重點(diǎn)在布局策略不用QVBoxLayout或QGridLayout而是重寫resizeEvent和moveEvent讓便簽大小變化時(shí)編輯區(qū)自動(dòng)填充可用空間工具欄始終固定在頂部 32px 高度。顏色選擇器不是彈出對(duì)話框而是集成在工具欄右側(cè)的QToolButton點(diǎn)擊展開(kāi)一個(gè)QColorDialog選中后立即更新便簽背景色并保存到數(shù)據(jù)庫(kù)。這里有個(gè)關(guān)鍵技巧QTextEdit默認(rèn)光標(biāo)是豎線但便簽需要“塊狀光標(biāo)”提升可讀性所以設(shè)置self.text_edit.setCursorWidth(2)并監(jiān)聽(tīng)textChanged信號(hào)實(shí)時(shí)更新字?jǐn)?shù)統(tǒng)計(jì)。最精妙的是窗口陰影效果——Windows 原生窗口沒(méi)有陰影但用戶習(xí)慣看到懸浮感。解決方案是在NoteWidget的paintEvent中用QPainter繪制一個(gè)半透明黑色矩形作為陰影偏移 (4,4)并隨窗口大小動(dòng)態(tài)縮放。這樣既不依賴外部庫(kù)又保證了視覺(jué)層次。3.2 SQLite3 數(shù)據(jù)庫(kù)設(shè)計(jì)一張表?yè)纹鹑抗δ軘?shù)據(jù)庫(kù)文件路徑固定為%APPDATA%\abandon\notes.dbWindows 用戶目錄下避免寫入程序目錄導(dǎo)致權(quán)限問(wèn)題。建表語(yǔ)句如下CREATE TABLE IF NOT EXISTS notes ( id INTEGER PRIMARY KEY AUTOINCREMENT, content TEXT NOT NULL DEFAULT , x INTEGER NOT NULL DEFAULT 100, y INTEGER NOT NULL DEFAULT 100, width INTEGER NOT NULL DEFAULT 300, height INTEGER NOT NULL DEFAULT 200, color TEXT NOT NULL DEFAULT #FFD700, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );注意三個(gè)設(shè)計(jì)點(diǎn)第一color字段存十六進(jìn)制字符串如#FFD700而非 RGB 數(shù)值因?yàn)?QColor 可直接解析第二created_at和updated_at分開(kāi)記錄方便做“新建未修改”狀態(tài)標(biāo)識(shí)第三所有坐標(biāo)和尺寸字段設(shè)NOT NULL DEFAULT確保即使數(shù)據(jù)庫(kù)損壞也能恢復(fù)基礎(chǔ)布局。數(shù)據(jù)操作全部封裝在DatabaseManager單例類中提供get_all_notes()、save_note(note)、delete_note(id)方法。save_note內(nèi)部判斷如果note.id為 None則執(zhí)行INSERT否則執(zhí)行UPDATE。這里有個(gè)易踩坑點(diǎn)SQLite3 的UPDATE語(yǔ)句必須顯式指定WHERE id ?不能漏掉條件否則整表數(shù)據(jù)被覆蓋。我最初版本就犯過(guò)這錯(cuò)誤導(dǎo)致所有便簽變成同一份內(nèi)容——修復(fù)方法是在UPDATE前加if note.id is None: raise ValueError(Note must have id to update)強(qiáng)校驗(yàn)。3.3 Windows 原生特性集成毛玻璃、置頂、任務(wù)欄圖標(biāo)abandon 便簽的“審美在線”核心在于 Windows 原生融合。毛玻璃效果通過(guò)ctypes調(diào)用 Windows API 實(shí)現(xiàn)from ctypes import windll, byref, c_int, c_uint, sizeof, Structure class MARGINS(Structure): _fields_ [(cxLeftWidth, c_int), (cxRightWidth, c_int), (cyTopHeight, c_int), (cyBottomHeight, c_int)] def enable_blur_effect(widget): hwnd int(widget.winId()) margins MARGINS(-1, -1, -1, -1) # -1 表示全區(qū)域模糊 windll.dwmapi.DwmExtendFrameIntoClientArea(hwnd, byref(margins))這段代碼在NoteWidget.__init__末尾調(diào)用效果立竿見(jiàn)影。置頂功能更簡(jiǎn)單self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)但要注意置頂后窗口無(wú)法被 AltTab 切換到后臺(tái)所以添加一個(gè)“取消置頂”按鈕點(diǎn)擊時(shí)執(zhí)行self.setWindowFlags(self.windowFlags() ~Qt.WindowStaysOnTopHint)并self.show()刷新。任務(wù)欄圖標(biāo)是另一個(gè)細(xì)節(jié)默認(rèn) PyQt5 窗口在任務(wù)欄顯示為 Python 圖標(biāo)不專業(yè)。解決方案是import ctypes; ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(abandon.sticky)然后在打包時(shí)用 PyInstaller 的--iconicon.ico指定圖標(biāo)文件任務(wù)欄就顯示自定義圖標(biāo)了。這些看似瑣碎的 API 調(diào)用恰恰是區(qū)分“能用”和“好用”的分水嶺。3.4 PyInstaller 打包全流程從 .py 到單文件 exe 的避坑指南打包是 abandon 便簽交付用戶的最后一步也是最容易翻車的環(huán)節(jié)。我的最終命令是pyinstaller --onefile --windowed --iconassets/icon.ico --add-dataassets;assets --name abandon --hidden-importPyQt5.sip abandon.py逐參數(shù)解釋--onefile生成單個(gè) exe用戶無(wú)解壓煩惱--windowed隱藏控制臺(tái)窗口便簽不需要黑框--icon指定圖標(biāo)--add-data將assets文件夾含字體、圖標(biāo)打包進(jìn) exe運(yùn)行時(shí)通過(guò)sys._MEIPASS獲取路徑--hidden-import是關(guān)鍵——PyQt5 的 sip 模塊在動(dòng)態(tài)導(dǎo)入時(shí)會(huì)被 PyInstaller 漏掉導(dǎo)致運(yùn)行時(shí)報(bào)ModuleNotFoundError必須顯式聲明。常見(jiàn)錯(cuò)誤及修復(fù)錯(cuò)誤ImportError: No module named PyQt5.QtWebEngineWidgets→ 解決abandon 不用 WebEngine但在某些 PyQt5 版本中會(huì)被自動(dòng)引入加--exclude-module PyQt5.QtWebEngineWidgets。錯(cuò)誤啟動(dòng)后窗口空白無(wú)任何控件→ 解決檢查--add-data路徑分隔符Windows 用分號(hào);Linux/macOS 用冒號(hào):寫錯(cuò)會(huì)導(dǎo)致資源加載失敗。錯(cuò)誤exe 運(yùn)行一閃而退無(wú)報(bào)錯(cuò)→ 解決臨時(shí)去掉--windowed用--console查看報(bào)錯(cuò)通常是某個(gè)模塊沒(méi)--hidden-import或資源路徑不對(duì)。 實(shí)測(cè)打包后 exe 體積約 28MB含 Qt 庫(kù)比 Electron 小 4 倍啟動(dòng)速度卻快 4 倍。這就是技術(shù)選型的價(jià)值不是追求最小體積而是追求最佳體驗(yàn)平衡點(diǎn)。4. 實(shí)操部署與個(gè)性化定制從零開(kāi)始搭建屬于你的便簽4.1 開(kāi)發(fā)環(huán)境搭建PyQt5 安裝的三種可靠路徑PyQt5 安裝是新手第一道坎尤其遇到labelme 無(wú)法安裝 pyqt5這類報(bào)錯(cuò)。根本原因是 pip 源不穩(wěn)定或 wheel 包缺失。推薦三種 100% 成功的方法清華源加速安裝首選pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ PyQt55.15.10指定5.15.10版本這是 abandon 經(jīng)測(cè)試最穩(wěn)定的版本兼容 Win10/Win11且PyInstaller支持良好。避免pip install PyQt5不指定版本可能裝到 6.x 導(dǎo)致兼容問(wèn)題。conda 環(huán)境安裝適合數(shù)據(jù)科學(xué)用戶conda install pyqt5.15.10 -c conda-forgeconda 自動(dòng)解決依賴沖突尤其適合已裝 Anaconda 的用戶。離線安裝內(nèi)網(wǎng)/受限環(huán)境去 PyPI 官網(wǎng) 下載PyQt5-5.15.10-5.15.10-cp39-cp39-win_amd64.whl根據(jù)你的 Python 版本選擇 cp37/cp38/cp39然后pip install PyQt5-5.15.10-*.whl。注意.whl文件名中的win_amd64表示 64 位 Windows32 位系統(tǒng)需下載win32版本。提示安裝后驗(yàn)證是否成功運(yùn)行python -c from PyQt5 import QtWidgets; print(PyQt5 OK)輸出PyQt5 OK即成功。若報(bào)錯(cuò)DLL load failed大概率是 Visual C Redistributable 缺失去微軟官網(wǎng)下載安裝vc_redist.x64.exe即可。4.2 代碼結(jié)構(gòu)解析讀懂 abandon 的骨架abandon 項(xiàng)目結(jié)構(gòu)極簡(jiǎn)只有 4 個(gè)核心文件abandon.py主程序入口創(chuàng)建 QApplication加載數(shù)據(jù)庫(kù)實(shí)例化主窗口。note_widget.py便簽窗口類包含 UI 繪制、事件處理、數(shù)據(jù)綁定。database.py數(shù)據(jù)庫(kù)操作封裝提供增刪改查接口。utils.py工具函數(shù)如 DPI 縮放計(jì)算、路徑拼接、時(shí)間格式化。這種扁平化結(jié)構(gòu)的好處是新人打開(kāi)abandon.py30 行代碼就能看到整個(gè)程序啟動(dòng)流程想改顏色直接搜#FFD700想加新功能如字體大小只需在note_widget.py的__init__中添加QFontComboBox并綁定信號(hào)。沒(méi)有 MVC/MVP 的抽象層所有邏輯直來(lái)直往。我建議新手 fork 后先刪掉database.py把數(shù)據(jù)存成 JSON 文件跑通 UI 流程再逐步替換回 SQLite3理解數(shù)據(jù)流如何貫穿。4.3 個(gè)性化定制實(shí)戰(zhàn)三步改造你的專屬便簽abandon 的魅力在于“開(kāi)箱即用改之即變”。以下是三個(gè)高頻定制需求的實(shí)操步驟需求一修改默認(rèn)便簽尺寸和位置→ 打開(kāi)note_widget.py找到DEFAULT_WIDTH 300和DEFAULT_HEIGHT 200改為400和250再找到DEFAULT_X 100和DEFAULT_Y 100改為200和150避開(kāi)任務(wù)欄。重新打包即可。需求二增加快捷鍵CtrlN 新建CtrlW 關(guān)閉→ 在note_widget.py的__init__中添加self.new_action QAction(New Note, self) self.new_action.setShortcut(CtrlN) self.new_action.triggered.connect(self.create_new_note) self.addAction(self.new_action) self.close_action QAction(Close, self) self.close_action.setShortcut(CtrlW) self.close_action.triggered.connect(self.close) self.addAction(self.close_action)注意addAction必須在self.show()之前調(diào)用否則快捷鍵不生效。需求三更換主題色系從金色變?yōu)槟m迪灰→ 修改note_widget.py中DEFAULT_COLOR #FFD700為#B0BEC5再找到QColorDialog初始化處將QColorDialog.getColor(QColor(#FFD700))改為QColorDialog.getColor(QColor(#B0BEC5))。莫蘭迪灰的十六進(jìn)制值可從 Coolors.co 獲取輸入#B0BEC5即可。注意所有修改后務(wù)必用python abandon.py先測(cè)試再打包。PyInstaller 打包時(shí)會(huì)緩存舊版本加--clean參數(shù)強(qiáng)制清緩存pyinstaller --clean ...。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄那些文檔里不會(huì)寫的實(shí)戰(zhàn)經(jīng)驗(yàn)5.1 啟動(dòng)報(bào)錯(cuò)“找不到 Qt 平臺(tái)插件”Windows 路徑黑洞這是 PyInstaller 打包后最經(jīng)典的報(bào)錯(cuò)?,F(xiàn)象雙擊 exe 彈出黑框瞬間消失日志顯示This application failed to start because no Qt platform plugin could be initialized.。根本原因是 PyInstaller 沒(méi)正確復(fù)制platforms插件文件夾通常位于PyQt5/Qt/plugins/platforms/。解決方案有二方法一推薦用--add-binary顯式指定pyinstaller --add-binaryC:\Python39\Lib\site-packages\PyQt5\Qt5\plugins\platforms;platforms ...注意路徑中的Qt5PyQt5 5.15或Qt舊版需根據(jù)實(shí)際路徑調(diào)整。方法二運(yùn)行時(shí)設(shè)置環(huán)境變量在abandon.py開(kāi)頭添加import os if getattr(sys, frozen, False): os.environ[QT_QPA_PLATFORM_PLUGIN_PATH] os.path.join(sys._MEIPASS, platforms)5.2 便簽窗口閃爍、拖拽卡頓GPU 渲染與合成器的戰(zhàn)爭(zhēng)在部分集成顯卡如 Intel HD Graphics的筆記本上便簽拖拽時(shí)會(huì)出現(xiàn)畫面撕裂或延遲。這是因?yàn)?PyQt5 默認(rèn)啟用 OpenGL 渲染而某些驅(qū)動(dòng)對(duì)此支持不佳。修復(fù)方法在abandon.py的QApplication創(chuàng)建后添加QApplication.setAttribute(Qt.AA_UseSoftwareOpenGL, True) # 或者更激進(jìn)的 QApplication.setAttribute(Qt.AA_DisableHighDpiScaling, True)前者強(qiáng)制軟件渲染犧牲一點(diǎn)性能換取穩(wěn)定性后者關(guān)閉高 DPI 縮放適合 1080P 屏幕用戶。實(shí)測(cè)在 i5-8250U Intel UHD 620 組合下開(kāi)啟AA_UseSoftwareOpenGL后拖拽幀率從 15fps 提升至 58fps。5.3 SQLite3 數(shù)據(jù)庫(kù)被鎖定多進(jìn)程并發(fā)的隱形陷阱abandon 是單進(jìn)程應(yīng)用但用戶可能同時(shí)打開(kāi)多個(gè)便簽實(shí)例比如雙擊 exe 兩次。此時(shí)第二個(gè)實(shí)例嘗試寫入數(shù)據(jù)庫(kù)會(huì)報(bào)database is locked。這不是 bug是 SQLite3 的正常行為。解決方案是在database.py的save_note方法中添加重試邏輯import time for i in range(3): # 最多重試3次 try: cursor.execute(UPDATE notes SET ... WHERE id ?, ...) conn.commit() return except sqlite3.OperationalError as e: if database is locked in str(e): time.sleep(0.1 * (2 ** i)) # 指數(shù)退避 else: raise raise Exception(Database locked after retries)這樣第二個(gè)實(shí)例會(huì)等待 100ms 后再試大概率成功。更優(yōu)雅的做法是進(jìn)程間通信IPC但對(duì)便簽而言重試足夠。5.4 Windows 11 任務(wù)欄預(yù)覽異常縮略圖顯示空白Win11 的任務(wù)欄縮略圖預(yù)覽hover 時(shí)顯示窗口截圖有時(shí)顯示黑屏。原因是 PyQt5 窗口默認(rèn)不啟用WA_TranslucentBackground屬性。修復(fù)在note_widget.py的__init__中添加self.setAttribute(Qt.WA_TranslucentBackground, True) self.setWindowOpacity(0.99) # 避免完全透明導(dǎo)致點(diǎn)擊穿透注意setWindowOpacity不能設(shè)為 1.0否則縮略圖仍為空白。5.5 PyInstaller 打包后字體發(fā)虛DPI 感知失效在高 DPI 屏幕如 200% 縮放上打包后的 exe 字體模糊。這是因?yàn)?PyInstaller 打包時(shí)未注入 DPI 感知 manifest。解決方案創(chuàng)建manifest.xml文件?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0 application windowsSettings dpiAware xmlnshttp://schemas.microsoft.com/SMI/2005/WindowsSettingstrue/pm/dpiAware dpiAwareness xmlnshttp://schemas.microsoft.com/SMI/2016/WindowsSettingsPerMonitorV2/dpiAwareness /windowsSettings /application /assembly然后打包時(shí)加--manifestmanifest.xml。這是 Windows 原生應(yīng)用的標(biāo)配abandon 必須擁有。6. 后續(xù)演進(jìn)與邊界思考一個(gè)便簽的終極形態(tài)是什么abandon 便簽走到今天已經(jīng)完成了它的核心使命在 Windows 桌面上以最輕量的方式提供最順手的記錄體驗(yàn)。但它不是終點(diǎn)而是起點(diǎn)。我常被問(wèn)“為什么不加云同步”“為什么不支持 Markdown”“為什么不做成 UWP”我的回答始終如一功能擴(kuò)張的邊際收益永遠(yuǎn)低于體驗(yàn)衰減的邊際成本。云同步意味著引入網(wǎng)絡(luò)請(qǐng)求、加密密鑰管理、沖突解決算法——一個(gè)便簽突然需要處理“合并沖突”這合理嗎Markdown 渲染需要集成QTextDocument或第三方庫(kù)體積暴漲啟動(dòng)變慢而 90% 的用戶只需要純文本。UWP 要求商店上架、簽名證書、沙盒限制徹底失去“綠色軟件”的靈魂。真正的演進(jìn)方向是更深地扎根 Windows 生態(tài)。比如與 Windows Ink 集成在 Surface 設(shè)備上長(zhǎng)按便簽調(diào)出筆跡輸入面板手寫內(nèi)容自動(dòng) OCR 轉(zhuǎn)文字用 PaddleOCR 輕量模型pyinstaller打包paddleocr已驗(yàn)證可行語(yǔ)音速記按住 CtrlSpace調(diào)用 Windows Speech API 錄音轉(zhuǎn)文字避免鍵盤打斷思考流任務(wù)欄集成右鍵任務(wù)欄圖標(biāo)直接彈出新建便簽浮窗無(wú)需打開(kāi)主窗口。這些功能不增加用戶心智負(fù)擔(dān)反而強(qiáng)化“隨手記”的場(chǎng)景感。技術(shù)上它們都基于 Windows 原生 API和 abandon 的基因一脈相承。我最近在測(cè)試一個(gè)分支用win32gui監(jiān)聽(tīng)全局熱鍵如 WinShiftN按下即創(chuàng)建便簽——這比在任務(wù)欄找圖標(biāo)快 3 秒。代碼只有 15 行卻讓便簽真正成為肌肉記憶的一部分。最后分享一個(gè)小技巧abandon 的數(shù)據(jù)庫(kù)文件notes.db是明文 SQLite你可以用 Navicat 或 DB Browser for SQLite 直接打開(kāi)編輯。某天我發(fā)現(xiàn)同事的便簽里混入了一堆亂碼導(dǎo)出.db文件一看是編碼問(wèn)題。解決方案在database.py的連接字符串中加uriTrue和encodingutf-8conn sqlite3.connect(ffile:{db_path}?moderw, uriTrue, timeout10) conn.execute(PRAGMA encoding UTF-8)從此再無(wú)亂碼。這個(gè)細(xì)節(jié)官方文檔不會(huì)提但每個(gè)用 SQLite3 的人都會(huì)撞上。abandon 便簽教會(huì)我的不是怎么寫代碼而是怎么克制。當(dāng)一個(gè)工具足夠好用時(shí)它就不該再“進(jìn)化”而該靜靜待在那里像一張真實(shí)的便簽紙等著你落筆。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
肏逼视频日本| 涩涩五月天| 99蜜桃臀久久久欧美精品网站| 亚洲少妇综合在线播放| 亚洲欧美天堂| 97操b| 亚洲天天影视色综合| www激情| 午夜舔阴达高潮视频免费看| 96国产精品| 国内黄色精品| 大香蕉综合在线| 污啪啪啪视频| 一区二区偷拍拍视频| 园内精品自拍视频在线播放| 国产1024在线播放| 九九九九免费| 久久产精品一区二区三区电影| 超碰97首页| 嗯嗯啊啊用力视频免费| 日本三级小说中文字幕| 丁香五月成人| 久热伊人| baisiav| 大香蕉啪啪啪| 久久怡红院| 久久精品性| 永久免费发布性爱网| av爱爱爱| 俺去啦俺来也久久综合| 性色AV网站| 97视频在线播放| 亚洲熟女一区二区| 最新AV在线| 91天堂丝袜美腿| 久久妇| 日韩精品人妻中文字有码在线| 夜夜操天天肏| 国产极品久久久| 久久久婷| 久草在| 天海翼久久| 天天射夜夜| 淫乱图区| 色五月AV在线| 黄色成年| 极品销魂美女一区二区 | 男人的天堂1024| 日本黄色XXX| 色九九综合AV| 人伦四五区| 综合色欧美| 精品少妇999| 久久透逼视频| 亚洲色啪| 另类亚洲图色| 欧亚揄拍偷拍精品视频| 999999精品| 久久六六| 久久国产乱子伦精品免费女人| A级毛片在线看免费| 无码操逼视频一下| 自拍偷拍 日韩无码| 欧美性巨大╳╳╳╳╳高跟鞋| 911av网站免费观看| 午夜福利av电影在线| 欧美经典一区二区三区| 一区二区三区精品黑丝白丝酒店对鸡| 91性生活久久久| 内射卯月麻衣| 色欧洲| 无码高清操逼网址| 图片区小说区| 偷拍欧美激情| 香蕉国产97| 中文字幕在线免费观看2| 九九综合久久中文字幕| 成片免费播放| 国产精品伦理| 久久国产熟女影院| 熟女人妻av在线资源,黄色的资源| 高潮内射在线| 少妇人妻在线| 美女视频尤物网在线看| 日本高清电影欧美色图| 九一国产精品| av在线播放国产一区| 99久久综合网| 中日韩久久久免费看| 久久婷婷电影网| 深夜激情无码| 女人的天堂大香蕉网| 九色在线熟女国产黑人| 国内精品不卡无毒99999| 国产十八禁视频| 九九九九国产| 看一级黄色视频| 91久久伊人婷婷青青草| 97综合国产| 强奸乱伦Av网| 欧美91在线+|+欧美| 91这里只有精品| 色牛牛AV| 欧美亚洲特P| 无码高清专| 美女淫穴| 欧美日韩国产黄色片| 九九视品黄色| 女人天堂av在线播放| 国产精点久久久成人| 青青草精品| 久久精品一区二区三区四区五区| 色色国产| 大粗鳼巴久久久久| 亚洲精品美女久久久久久久久| 日韩天堂av电影在线观看| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 天天爽人人综合免费7799| 在线观看视频91| 毛片久久| 综合网欧| 一级做a爰片久久毛片图片| 性色avv| 人妻三级在线中文字幕| 蜜桃久久久久久久| 青青操网| 桃色人妻在线视频| 大地资源在线观看中文第二页| 亚洲诱惑| 久肏视频字幕| 免费综合亚洲中文| 久久久精品,3| 精品久久久av| 色播综合| 手机在线免费看的av| 精品十三区| 男人的天堂 在线一区| 美女啊啊啊啊啊啊啊| 亚洲天堂一区| 亚洲熟女乱综合一区二区三区| 亚洲国产ⅴ高清在线观看| 狠狠爱AV| 成人精品视频一区二区| 色综合尤物| 91bbbbbb| 精品久久久久久久久久久久| 操逼片中文| 超碰97人人乐| 日本女厕偷拍| 久久久久久久久成人av解说| 狠狠干91| 97超碰免费生活| 亚洲欧美日韩夜夜| 国产精品探花色| 日韩中文字幕精品一二三事国产精品| 国产不卡精品91| 午夜AV人气不卡| 在线观看啊啊啊啊啊| 免费视频无码| 黑人狂躁日本妞一区二区三区| 秋霞鲁丝午夜无码一区二区三| 91精品人妻电影| 精品久久久久久久| 97精品在线| 五月婷色| av绯色| 综合第一页| 蜜臀aV午夜一区二区三区| 亚洲91射| 亚洲第一页欧美| 人妻熟女av国产网站| 9118禁| 欧美国产有色电影| 黄色大片一区二区密桃丝袜| 国产日本久久免费精品| 中文日本免费高清| 91超碰在线| 天天爱综合网| 91总综合网| 国产精品交换一区二区| 在线观看av区| 手机在线A片| 日韩少妇无码| 91精品国| 久久久久久中文| 亚洲 图片 欧美 色图| 婷婷亚洲天堂| 中文字幕成人| 毛片17S| www.久久99| 凸凹视频在线观看| 黄片在线免费在线观看| 欧美aaaaaaa| 91久久九九精品国产综合| 色色九区| 国产偷人伦激情在线观看| 欧美黑人熟妇精品91| 日韩欧美中文字亚洲慕| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 人妻精品一区二区三区| 97av在线观看| 久久青青草在线视频| 骚鸭AV| 干美女人妻| 中日韩久久久免费看| 中文字幕女同在线| 91成人社区| 亚洲熟女乱色| 夜夜操av亚洲一区二区| 色婷婷六月丁香七月婷婷| 抽插一区二区视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 亚洲精品乱码久久久久久蜜桃麻豆| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 色色五月天婷婷| 精品一区二区亚洲国产| 久久婷色| 欧美人妻二区三区| 久久偷拍人| 色五月第四色| 中文字幕诱惑制服人妻丝袜美丝袜美| 日韩丝袜高跟制服在线观看| 99久久99九九99九九九| 老熟女综合| 欧美碰碰综合色| 爱爱啊啊啊| 国产v亚洲v日韩v欧美v片另类| 中文字幕欧美日韩三级| 中文字幕高清精品一区| 欧美日综合| 欧美九9 9 9| 国产欧美日韩女同性恋ww喷水精品 | 97久久久精品| 日本久久久久久久久久| 精品一区二区国产日韩| 国产精品自在线发布| 国产18精品亚洲精品| AV在线播放网址| 国产97综合| 精品人妻一区二区三区鲁大师| 97精品| 欧美真人抽搐一进一出gif| 欧美精品一区二区少妇免费A片| 中国一级操逼视频| 一二三区在线| 四季av一区二区凹凸精品小说| 天天综合欧美| 99re公开精品免费视频| 六六久久日韩不卡| 偷拍色图| 欧美懂色综合网| 国产人妖视频一区在线观看| 成人熟女视频一区二区三区| 97欧美日韩综合| 强奸乱伦Av网| 青青草亚洲一区 | 人妻偷拍一区二区三区| 婷婷五月天成人网| 欧日韩在线观看| 激情欧美97| 国产中文大片资源中文字幕| 五月激情影院| 中国黄色特级精品一区二区三区片| 91精品人妻一区二区三区蜜桃| 国产精品探花色| 婷婷99狠狠躁天天躁| 麻豆天美传媒在线视频天堂| 97碰久久| 婷婷大香蕉| 国产吹潮女在线观看| 日韩精品资源专区二区| 日日夜夜骑| 国产精品久久久久无码A√| 香蕉在线一区二区三区| 素人伊尹大香蕉免费下载视频| 综合av社区| 六月激情网| 激情文学小说一区二区| 欧美黄色大片在线观看| 久草新免费| 蜜臀视频网站| 女优免费一区二区永久| 中文字幕AV中出| 久久鲁干| 久久风骚城市| 日本高清一区二区在线| 久偷拍欧美日韩三区| 一级性爱视频免费在线| 青青青操| 天天日天天操天天射河南省| 大香蕉操久久| 蜜桃狠狠色伊人亚洲综合网站| 超碰在线国产| 成人怡红院| 国产视频一区二区在线| 一级乱伦网站| 97视频7| 午夜亚洲WWW湿好大| 好吊色在线观看| 好属操| 欧美久久九九| 污色区网站| 熟妇视频一区二区三区在线观看| 亚欧无码线免费观看视频| 2020中文字幕| 国产精品久久久无码aV去| 青青草吊丝| 91欧洲国产成人久久精品网站| 国产天美欧美| 操逼逼一区视频| 吉川爱美亚洲二区在线| 九九色精品| 999热这里只有精品| 九九成人视频| 久久九色| 2017天天透天天通天天擦| 日韩黄色一区二区三区| 免费视频一二三区| 九X超碰| 色色色色日本| 亚洲欧美不卡线| 日韩人妻网站| 很很很很操| 日本高清有码网址视频| 中文字幕精品免费一区二区| 精品亚洲俞拍视频一区| 天天草天天干天天日| 中文字幕激情小说| 久久久久一本一区二区青青蜜月| 日本成人A片免费看| 中精品一区二区三区| 激情综合五月| 久久受www免费人成| 久久久久久少妇| 国产蜜臀在线| 1956日韩精品| 任你草| 免费αV在线视频| 曰本道人妻久久久在线不卡色视频| 婷婷五月天成人| 91人妻最真实刺激绿帽| 久伊人网78| 日本亚洲vr欧美不卡高清专区| 十八禁视频一区二区| 欧洲精品区| 97久久精品亚洲| 亚洲成人美女无吗| 日韩欧美亚洲自拍偷拍| 少妇高潮九九九九九九九| 啊啊啊啊啊啊在线看| 看日韩操逼| 伊人国产成人av网站| 男人的天堂日韩| xxx亚洲午夜天堂| 97碰在线视频| 91九色在线| 东北丰满熟女国产一区| 色欲三区| 日本操逼视频免费| 国产精品日日摸夜夜添骚逼| 日韩AV噜噜噜一区二区三区四区 | 操少妞在线视频| 熟女在线视频| 亚洲人成网www| 亚洲第一成人影院色播| 芊芊操逼视频无码| 精品欧美А∨无码黑人大荫蒂| 久久久久久九九九| 亚洲综合九九| 色逼综合| 天天干电影| 九九这里只有精品| 久久久九九| 日韩在线97| 爱干爱射网啊啊啊| 91色爽欧美| 青青草原人妻| 久久国产99精品72福利 | 国产精品操| 97色综合中文网| 999热日韩精品| 欧美高清在线| 欧美精品欧美精品系列| 精品人妻视频一区二区在线播放| 囯产精品强| 神马久久啊啊| rivers-china.com| 97chaopengongkai| 九久久九精品视频| 久久精品人体| 嗯啊不要啊啊在线观看视频| 丝袜狠狠草尤物人妻av91| 性色乱AV一区二区| 青青草黑寡妇男人天堂| 嗯嗯,好大,好爽,好骚 | 大色综合| 啪啪啪东京| 手机在线中文字幕国产 | 熟女高潮合集-永久久久-成人AV| 2017大香蕉国产精品久久| 精品无码人妻一区二区免费蜜桃| 欧美日韩亚洲电影| 国际精品久久久| 男人天堂新| 少妇被c 黄 免费观看| 秋霞一集毛片观看| 乱论91| 黄色av一区二区在线| 欧美在线视频99| 91久精品| 久操网在线| 好一吊区二区| 九九九久久久| 操逼网站视频漫画国产| 欧美制服另类丝袜| 天美传媒在线一区| 青青五月天| 午夜a成v人电影| 欧亚乱色熟女一区二区| 91狠婷| 日日干夜夜欢| 精品999999| 日韩一性一交一A片俄罗斯| 日韩一级片| 欧美亚洲影视| 91性情| 亚洲天堂一区二区久久| 久久久久久久极品香蕉视频| 蜜桃臀一区二区三区久久| 97日韩| 欧美日韩国产高清在线一二三区| 人妻丝袜二区| 日日噜噜夜夜狠狠视频无| 亚洲成av人片色午夜乱码| 夜夜爽妓女| 桑老女人九区| 99精品视频在线观看免费| 无码又爽又硬又激情免费视频| 久久最新视频免费观看| 大香蕉99999| 国产亚洲中文不卡二区| 蜜臀亚洲中文| 日韩啪啪视频| 小少妇| 久欲AV| 久久久精品中文字幕爱豆| 欧美视频在线视频免费va| 91艹逼精品| 超碰97护士| 色婷亚洲五月在线观看| 怡红院网站在线视频| 自拍偷拍国产欧美日韩韩| 人妻熟女午夜精品在线| 青青草导航在线视频| 国产日韩精品无码去免费专区国产| www.久久爱| 欧美激情一| 欧美日韩国产中文精品字幕自在自线| 亚洲欧美国产中文字幕| av网站免费线看| 亚洲另类综合欧美| 97超碰色情| 九九色图| 大香蕉淫人网| 人妻啊啊人妻啊| 夜夜躁狠狠躁日日躁av| 嗯啊不要在线| 丝袜亚洲综合| 偷拍 精品 另类 四区| 人妻少妇精品| 北京专精特新企业招聘信息| 沈阳熟女高潮对白视频| 一区二区三区四区五区高清无码永久视频 | 26uuu最新| 91在线美女| 亚洲欧洲偷拍一区| 综合第一页| 欧美色偷拍| 国产精品白领在线观看| 久久久久久九九九九-美女久久久久久久-成人AV | 精品国产91av一区二区三区 | 国产乱伦视频污| 嗯嗯啊啊视频在线看 | 色综合潮| 无码精品久久久天天影视 | 久久艹逼视频| 成人怡红院| 天天操女人| 91被操| 欧美熟女丝袜| 色九九综合| 少妇综合网| 97精品国产手机| 天天视频综合在线观看视频| 久久蜜桃一区二区| 久久手机好看网站| 少妇无码av专区线| 九九热re99re6在线精品| 天堂蜜桃无码视频一区二区| 超碰国产精品久| 加勒比无码毛片| 素人播放一区| 日韩国产成人自拍视频| 综合色一区三区二区| 超碰97男人| 国产 三级自拍| 成人毛片免费| 男人天堂最新手机版在线青青草| 大香蕉在线视频15| 91爆操视频| 91色综合| 精品视频一区二区| 人妻在线大香蕉| 97久久超碰| 91东京热男人的天堂| 91熟女视频网| 日韩情色AV| 色五月首页| 一类无码操逼视频| 欧美色999| 日韩电影免费网站麻豆视频| 佐山爱中文字幕| 婷婷久久久| 中国少妇XXXX做受| 久久夜夜| 久久久久久十| 天天躁夜夜躁狠狠躁AV| 久久夜嗨| 激情文学欧美| 日本一区二区三区精品| 老色鬼成人精品视频下载大在线观看| 精品久久在线区一区| 男女真人网18| 国产精品嫩草影院免费| 欧美性爱精品七区| 欧美色图色综合| 天堂亚洲精品| 91在线国产后入风骚翘臀美女素人| 欧美日日夜夜| 色妹子A V| 久热这里| 色综合99| 婷色五月天| 激情四射五月天| 户外裸露刺激视频第一区| 国产亚洲性生活视频播放| 色欲av国内精品久久久久久| 久久岛国| 精品日韩| 亚洲欧美日韩中文播放| 亚洲欧美情色| 中文字幕在线观看网址| 久夜视频| 亚洲色综合| 国产品精品自在在线午夜免费| 蜜桃臀一区二区三区久久| 一区麻豆 高清中文字幕| 开心五月婷婷| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | AAAA级日本片免费视频| 天美精品原创av片国产| 久久精品一区二区一8| 中文字幕一区二区视频在线观看| 亚洲图片欧美色图| 精品日韩人妻视频| 草草影院日本第一页| 日本狂喷奶水在线播放212| 曰韩操B| 久久精品中文字幕观看| 色综合久久88色综合久久天天| 韩国一级婬片A片无码天美| 天天草夜夜草高潮片| 天天躁日日躁xxxxx| av网页一区二区三区| 免费看A片毛毛片在线播| 户外裸露刺激视频第一区| 国产精品熟女丝袜一区二区| 丰满人妻一区二区三区| 色哟哟-国产专区| 日韩9999| 欧美不卡二区| 色香色欲天天综合网天天来吧| 久久久久9999| 男人天堂久久日韩| 2020中文字幕在线| 亚洲欧美色图片| 欧美日韩*字幕一区| 色乱二区| 欧美|91色综合| 狠狠亚洲| 好属操| 丰满人妻无码一区二区三区| 人妻久久久久久| 第四色亚洲色图| 干b网| 国产精品分类在线观看| 国产情侣自拍在线播放| 黄色二级片网站| 啊啊啊啊,啊啊好多水| 97超碰人妻| 成人美女av| 中日无幕一二三四区| 欧洲亚洲人人爽爽视频| 超碰成人人人爽人人爽| 怡红院一区二区熟女人妻| 九九热男人天堂| 亚洲亚洲亚洲天堂天堂| 男插女青青影院| 熟女六十路| 超碰人妻久久人妻中文97| 欧美在线大香999| 天天日天天搞天天干| 一区二区 韩日AV| 欧洲亚洲人人爽爽视频| 欧美日韩午夜精品一区二区三区| 色婷婷电影网| 9九九国产| 精品国产乱码| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 99日韩| 久久婷婷欧美| 色哟哟 日韩精品| 久久草大香蕉| 蜜臀99久久精品| 操逼www.| 神马久久网| 午夜舔阴达高潮视频免费看| 日产狠狠干| 人妻少妇无码| 国产精点久久久成人| 精品国产乱码久久久兰草影视| 色牛aV| 亚洲男人bt天堂| 欧美色97| 久久99久久99精品免视看婷婷| 97欧美色综合| 亚洲黄色网址视频| 很很很很操| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 天天干天天爽| 2017天天插| 亚洲五月天激情| 快播电影网日韩新片| av天堂手机版追回| 骚日日av| 婷婷五月av| 麻豆av一区二区| 婷婷五月天av| 又大又大又大又粗爽高潮观看| 天天操夜夜操| 超清中文乱码字幕| 韩国轻伦国内自拍一区| 久久的免费性爱视频| 亚洲中文人妻色| 四虎国产精品永久入口| 美骚妇av高清在线| 精品偷拍13p欧美dodk视频| 美女干逼2| 国产 亚洲 丝袜 制服| 九99久久| 992这里有精品| 色图综合网| 97se综合网| 国产精品网址| 蜜桃臀AV在线| 天天摸,夜夜摸| 婷婷久久五月综合激情| oumeizonghese,www| 18禁的网站在线| 日本久久久久久久久久| 97AV爱| 国产日韩在线播放av| 在线播放中文字幕| 久久久一热在线播放| 69少妇一区二区| 99日视频在线免费| 不卡超碰护士AV在线免费播放| 84YTCOM性无码| 亚拍在线| 操狠狠| 国产亚洲日韩在线三区黑人| 久久香蕉国产线看观看亚洲女人 | 精品超碰国产| 久久精品国产精品一区| 久操视频免费观看| 亚洲国男人的天堂| 国产h片在线观看视频| 天堂性色| 亚洲人久久久网| 嗯啊不要在线观看嗯啊| www.久久最新地址| 曰韩中文人妻视频| 91美女国产在线| 超碰日本97美女人妻人人玩人人爱| 涩涩涩综合| 97亚洲中文| 超碰久久网| 日本一区二区电影网站| 极品色www影院| 久草精品国产99| 日韩三级av片| 夜夜青青无码影院| 国产农村妇女精品1区二区| av天堂5| 综合av社区| 97在线免费视频观看| 91操人| 物尤视频一区二区| 亚洲天堂区| 999岛国大片| 人人操人人插人人摸人人干| 久久婷婷电影网| 狠狠入| 天天综合网亚洲综合网| 日韩视频小说在线观看 | 91天天综合日韩欧美| 欧美手机在线综合| 97资源免费视频| 岛国小电影| 丁香五月综合| av国产无码| 手机在线看片免费人成视频| 北约熟女超碰| 黄色操人| 牛牛操视频逼| 天天射天天操天天干天天吃2018 | 中国一级操逼视频| 女欧美一区二三区| 国产高清成人免费视频| 男人的天堂2018| 欧美美女视频| 女生久久网| 97se亚洲综合自| 一本大道青青| 国产福利在线视频网站| 亚洲欧美高清无码| 亚洲中文字幕在线视频一区二区| 啊啊啊想要| 啊啊啊好多水| 狠狠操使劲操| 蜜臀一区二区三区在线| 日韩三级伦理中文字幕| 免费试看60秒| 午夜操一操| 精品九九| 欧美视频一| 亚洲欧洲日本精品中文a∨| 手机看片91人妻| 人人人摸人人| 亚洲第一精品在线视频| 国产大学生口爆吞精合集| 乱伦Av网| 91色色色| 亚洲色图激情小说| 欧美欲色| 欧美 亚洲 91| 综合自拍| 17c嫩草51久久91嫩草| 家庭乱伦麻豆| 性爱视频无打码在线观看| av天堂精品久久| 欧美专区日本专区| 五月婷婷深深爱| 欧美精品在线观看| 夜夜狠狠躁日日躁色视频| 亭亭在线资源| 亚洲熟女人妻中文字幕一区二区| 日日超碰亚洲| 亚洲一区二区三区中文字幕| 嫖老熟女A片一二三区| 中文字幕一区av| 亚州再线| 久久精品国产97欧美精品亚洲| 俞拍久久国应视频| 日韩极品无码B| 午夜黄色免费在线观看| 最新加勒比丝袜在线| 国产精品不卡一区二区三区| 超碰导航97| 国产91亚洲精品一区二区三区| 午夜福利av电影在线| 九九人人操| 狠插 制服 自拍| 亚洲情色 无码专区| 九九九免费视频| 亚洲乱码国产乱码精网站| 欧美国产日韩清纯唯美| 久久爱超碰网| 九九九九精品| 天天操天天舔| 久久亚洲天天做| 99re这里只有精品2| 日婷婷| 高清无码网址| 男人天堂免费| 岛国片在线播放| 床上啊啊啊一区二区三区| 亚洲国内精品成人不卡| 97干色| 欧美十八禁在线看| 老鸭窝黄色视频网站| 久久这里只有精品9| 在线人人人人人人精品超 | 日本一级真人黄色性爱视频| 国产精品岛国片在线观看| 欧洲射精91| 人人妻人人澡人人爽久久av| 天堂中文资源在线bt| 熟妇熟女一区二三区| 91爱剪切久久| 无遮挡h肉动漫在线观看| 99热 按摩 日韩| 亚洲一区日韩精品中文字幕 | 深夜激情| 青青草久久在线| 精品无码久久久久久久杏吧| 国产免费一区二区在线A片视频| 激情五月天校园春色网| 蜜乳AV.COM| 内射黑人| 国产综合日韩伦理| 男人的天堂2018东京热啪啪啪| 90后后入| 无遮挡猛进视频免费无限观看| 日韩视频小说在线观看| 中文字幕高清精品一区| 一区二区三区男女操逼黄色小电影| 国产AV中文| 欧洲色| 果冻传媒A片麻豆熟妇人妻| 久久精品国产免费观看99| 亚洲精品日日夜夜52| 久久九九精品一区二区| 丰满人妻一区二区三区色-百度| 粉嫩绯色AV一区二区在线| 经典丝袜一区| 亚洲一曲日韩精品| 麻豆国产成人精品| 翔田千里Av在线| 国产自产91区13区| 女性喷水高潮在线观看| 九一屌逼| 爱妃国产亚洲视频中文字幕| 欧色综合| 国产对白刺激视频| 91无码人妻| 色爱三区| 久久9精品| 久久婷婷国产一区二区色| 天天日天天干少妇日| 欧美日韩m| 国产精品一区二区久久精品| 狠狠亚洲| 亚洲古典另类欧美在线| 日韩AV噜噜噜一区二区三区四区| 极品色www影院| 欧美色图欧美| 福利风月五月天影院| 国产一区二区免费福利片| 青青操在线亚洲视频观看欧美在线| www.亚洲成人一区| 中文字幕人乱码中文字的预防方法| 大香网站| 激情小说激情视频| 91N欧美| 日本韩国国产精品一区| 91老熟女老女人国产老太| 国人欧美精品一区二区| 久久丝袜| 亚洲情色图片区| 黄片aaaaa一区| 国产在线激情| 91久久精品国产| 岛国毛片在线观看免费| 天天操福利视频综合网站| 天天添天天干电影| 乱伦图av| 久久老女人| 中文字幕第23区| 天天干,天天日| 欧美伊人久久综合网| 日韩AV噜噜噜一区二区三区四区| www四虎| 亚洲一卡2卡3卡4卡乱码网站| 老熟女阿 国产91| 97天天综合网| 丁香五月久久| 国产精品国产自产高清AV| 高清无码91| 亚洲欧美setu| 日本大片日本一区二区免费高清| 1人人看人人摸人人操| 东北女人高潮视频| 精品中文日韩字幕视频| 欧美综合骚| 亚洲操人| 欧美性爱日韩性爱| 欧美v日韩v亚洲v最新在线| 四虎在线免费视频| 97在线免费视频观看| 欧美天堂超碰97| 国产欧美伊人| 日本一级性爱| 日本免费人成视频播放120秒| 天天肏视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 眼镜人妻101.com| 色97干| 精品无码一区二区三区| 99热免费精品| 炮色五月| 天美AV片| 亚洲精品一区中文字幕乱码| 熟女色综合久久| 午夜福利激情在线视频| 成人免费性爱视视| 天天综合网~91| 偷拍导航视频网站| 少妇蹲下买菜露大唇0| 久久99草| 亚洲视频二区| 老汉网| 国产精品久久久777| 日韩内射视频| 成人影 天天操 亚洲| 人人爱操| 色五月网址| 97久久超碰| 亚洲国产激情国产av| 亚州AV无码国产精品| 亚洲欧洲精品视频发布| 欧美综合娱乐久久| 亚洲激情综合另类男同| 国产成人精品必看| 国产精品爱欲| 蜜乳AV.COM| 国产精品探花色| 免费av在线播放二区| 亚洲AV成人无码一二三久久| 思思热在线视频免费| 韩日色费| 一级@啪啪视频| 一本一道波多野毛片中文在线| 色操逼网| 91足交| 国产欧美日韩在线不卡第一页| 思思热免费视频观看| 日韩性爱网址| 99热官网| 久久久久久久久久久久久久久性生活视频 | 九九热免费在线国产视频伊人五月| AV天天在线观看| 国产白领连续中出在线观看| 久久天天躁日日躁狠狠躁| 少妇极品熟妇人妻无码| 久久一本大香蕉| 国产精品色| 日韩精品一二三| 久久免费少妇| 老熟女乱伦一区| 很黄很色的视频在线观看| 人人摸人人摸人人干| 欧美亚洲日本激情在线| 成人AV在线电影| 日本美女性生活久久久久久久| 97色论| wuyechaopeng| 啊啊啊想要| 久久精品国产亚洲AV高清演员表| 岛国AB视频| 99热66| 青青草五月天| 啊啊啊啊,啊啊好多水 | 亚洲另类综合欧美| 啊啊啊啊二区好大| 91欧美少妇| 国产白丝av| 性久久| 99性爱视频| 大香蕉在线视频重口味毛片在线| 亚洲交换| 久久亚州高清| 日韩特一级久久| 五十路熟女人妻一区二区在线观看| 亚洲av无码国产精品字幕| 日韩精品亚洲专区在线影视| 91色艳| 91 国产丝袜在线播放-百度| 天啪| 国产成人免费观看在线视频| 欧美熟爽综合| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 91久久久久久久久18| 色女99一级片在线观看| 日韩欧美麻豆| 国产野战露脸在线播放| 一区二区三区精品黑丝白丝酒店对鸡| 97超碰亚洲| 国产精品久久久亚洲第一牛牛_在线观看| 9色国产精品一区粉嫩| 亚洲图片偷拍视频区| 亚洲综合图文| 熟妇熟女一区二区三区| 黄色视频特级毛片| 97精品视频免费| 熟妇色99| 自偷自拍的亚洲视频| 青青草成人视频在线观看二区| 99re超碰| 五月婷婷久久综合| 内射黑丝袜| 成人av毛片在线观看| 91视频国品一二三区| 婷婷精品国产欧美精品亚洲人人爽| 免费无码婬片AAAA片直播色戒| 国模精品一区二区三区苹果色戒| 久久99精品九九久久久婷婷| 亚洲一区日韩精品中文字幕| 一区二区偷拍拍视频| 青青草在线视频播放器| 国产97视频免费观看| 伊蕉97蜜桃97狠狠综合干| 国产精品美女视频诱惑| 男人天堂2012| 九九热三级片| 国产刺激视频| 久久久青青草| 99无码精品| 97人人超| 欧美线天码中字| 色青青久久影视| 欧美激情亚洲情色| 亚洲国产精品无码AV在线| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 中文字幕一区二区三区人妻少妇在线| 高清视频一区| 高清无码网址| 火箭成精品视频884必出精品| 桃色五月天| 91岛国动作片| 午夜免费视频1000| 校园春色五月天| AV天天在线观看| 欧美色亚洲| 久久久久久亚洲精品中文字幕人妻| 99热这里只有精品18| 综合色图区| 欧美v日韩v亚洲v最新在线| 久久久久精| 欧美性爱精品七区| 久久久久久久久久久久黄色 | 成熟熟女国产精品一区二区| 亚洲啪啪视频一区二区| 97av,com| 五月丁香狠狠爱| 成人怡红院| 亚洲s在线观看| 久久黄片国产一区二区| 精品九九九九九九九九九| 午夜福利免费福利视频| 少妇熟女视频一区二区三区| 亚洲综合九九| 最新亚洲黄色免费电影| 97se综合网| 黄在线| 熟妇人妻精品一区二区| 久久啊哟| 国产AV久久野战精品| 久久久成人免费av电影| 色五月综合网| 粉嫩av平台| 欧美亚洲成人在线一区二区三区| av资源在线观看少妇| 亚洲色图 欧美| 亚洲一本色码中文字幕| 一级性爱aaaa| 精品无码久久久久久久久果冻糖心| 欧美天堂日韩三级国产传媒| 影音先锋乱| 一区二区不卡视| 精品无码久久久久| 婷婷丁香在线| 国内毛片国产欧美拍| 色噜噜人妻av中文字幕| 日韩欧美麻豆大片| 日本www操操操| 大香蕉欧美| 免费97视频| 久久久久久久久久久97| 日本视频在线观看污污污| 国产精品播放| 激情人妻另类| 粉嫩国产精品久久粉嫩| 亚洲成人日韩小说| 欧美成人性活片| 97资源站久久| 宗合情欲网| 婷婷色导航| 久久69精品久久久久久久| 人人妻人人爽一区二区三区| 精品亚州18| 中文字暮97| 欧美视频边做饭边橾| CCYY草草影院地址入口| 综合欧美色图| 欧美少妇性乱| 超AV色女| 五月丁香激情啪啪| 操操逼操操逼操操逼逼| 婷婷久月| 欧美丝袜亚洲| 欧美亚洲成人在线一区二区三区| 97日本超碰综合| 任你艹| 欧美性爱另类综合| 成人性爱视频在线看| 久操91视频| 94色色电影网| 国人欧美精品一区二区| 欧美一区二区三区互相| 91亚洲欧洲| 青青五月天| 爱丝福利| 精品9999| 99后入| 成熟熟女国产精品一区二区| ,国产乱人伦精品一区二区三区| 99自拍视频| 激情五月天色色网| 亚洲av淫乱| 中国女人内射6XXXXX| 久久久久久一日韩字幕无码| 亚洲视频中文一区| 青娱乐国产剧情av一区| 一区二区三| 精品999一区二区| 啊啊啊久久| 日夜伊人网| 97aiaiai| 亚洲av性爱电影| 97啪啪| a片在线播放| 色综合国产在线观看| 国产毛片片精品天天看视频| 亚洲色图欧美一区二区不卡| 淫荡网址| 色吧5亚洲| 国产精品久久久久久高清无码免费看 | 久久在线观看免费视频| 少妇久久久| 国产精品无码成人精品| 粉嫩av久久一区二区三区| 操婷婷逼| 天天色怡春院| 啊啊啊久久久视频| 大香蕉在线SuP| 999久久芭蕾| 91岛国动作片| 天天综合网网欲色| 女性喷水高潮在线观看|