日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
精品无码久久久久| 欧美性爱第一页久久| 激情天天视频| 天天干天天做| 91亚洲黄色网| 国产精品熟女丝袜一区二区| 久久国语| 免费伦费视频在线观看| 夫妻四区五区六区| 久久99国产精品| 国产做?爰片久久毛片?片美国| 大香蕉十区| 日日夜夜骑| 91精品无码人妻系列| 91国产大片| 日本色色色网站免费看不卡| 女人的久久久| 日日骚中文字幕| 色五月婷婷中文字幕| 亚洲天堂电影网| 深夜激情| 黑操B| 加勒比色99999| 在线v中文字幕一区二区三区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 黑人粗大V S日韩女优视频| 高清国产成人无码| 精品无码产区一区二| 在线强奷到舒服的无码视频| 一本久久精品中文字| 亚洲欧洲无码bt精品合集| 久久香蕉国产传媒一区剧情天美| 欧美不卡五十路| 99爱在线视频| 免费成人自拍视频在线| 肥臀熟女福利视频一区二区| 亚洲色欲天天人妻无码系列专区| 搡老女人老熟女91老熟女综合网| 99热综合| 国产9 9在线 | 亚洲| 99www.bibizy香蕉资源国产一区二区三区高清 | 美女刺激久久国产欧美| 国产熟妇 码视频户外直播| 熟女天天干| 在线看的av| 97视频在线观看网站| 亚洲αv一区二区三区| 日韩欧美偷拍美女视频| 精品性爱无码在线播放| 日本媚薬中文字幕在线| 青青草国产亚洲精品久久| 伊人久久综合影院| 国产又大又粗又长视频| 黄污污污污| 人人操,人人液| 婷婷香网站| 日本 欧美 国产一区| 中文字幕视频二区| 久久精9| 日本不卡高清视频| 久久久不卡| 国产美女精品| 国产一区二区三区中文字幕| 国产精品自拍欧美在线| 亚洲毛片基地专区| 少妇久久久免费| 狠狠干婷婷| 人妻啊啊人妻啊啊| 日韩一级成人毛片免费观看| 呦呦一区| 国产精品色约约| 亚洲色图激情小说| 欧美亚洲韩国视频十五区| 国产精品不卡av免费在线观看| 激情综合二| 无码操逼视频一下| 999熟女精品| 久久精品国产99精品亚洲蜜...| 德国一二三不卡| 性爱视频无打码在线观看| 97人亚洲综合字幕| 自拍偷拍2025在线观看| 色欧美亚洲| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产精品午夜AV完会免费 | 人妻少妇久久中文| 夂久色| 网页导航五月天免费一二三区| 国产外初女出血视频| 97视频网站在线观看| 欧美日韩国产中文精品字幕自在自线| 干少妇视频| 日韩精品操少妇| 神马视频久久久久久| 午夜无遮挡男女啪啪视频| 爽极品影院| 精产品久久| 人人操人人摸超碰| 综合免费无码中文| 粉嫩国产精品久久粉嫩| 人、人、摸,人、人、草| 大香蕉综合网| 另类图片综合| 国产精品久久久999| 亚洲AV永久无码精品成人调教| 超碰日韩人妻| 东京热av男人的天堂| 欧美黄片免费在线观看视频| 78精品| 熟女少妇一区二区三区| 日韩BBN| 韩国女主播青草福利视频| 中文字幕aⅴ在线视频| 99抽插| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲无码超碰免费| 亚洲精品九九九| av橘色网站| 欧美aaaaaaa| 乱伦日本色图AⅤ| 亚洲欧美伦综合| 污到发麻的视频 国产| 日韩三级一区| 嗯阿好爽好紧| 色拍偷亚洲| 国产又粗又长的视频| 麻豆一区二区AV天美| 亚洲有码视频二区| 亚洲码在线中文在线观看| 91一区二区三区蜜桃| 人妻乱仑一区二区三区| 99热精品在线观看| 天美一二三在线观看Av| 色原狠狠天天天| 少妇久久| 日本一级性爱| 2019天天操天天爽天天拍| 亚洲综合射| 吉川爱美亚洲二区在线 | 亚洲成熟国产精品美女| 九九无码视频| 欧美日韩国产电影| 夜夜欢天天干| 330dv亚洲成年视频网| 国产精品制服丝袜中文字幕日韩一区二区三区 | 啪啪AV导航| 欧洲精品久久| 夜夜高潮夜夜爽| 亚洲人妖网| 蜜桃丰满熟妇av无码区不卡| 日本布卡一区二三区| 欧美日本不卡在线| 绯色一区二区三区不卡少妇 | 欧美色图天堂在线| 东北老女人的激情视频| 色一区二区三区综合| 欧洲精品二区| 亚洲欧洲中文日韩女优乱码| 自拍大香蕉乱插| 天天干少妇| 国产精品色哟哟| 超碰久久.com| 中文字幕五月婷婷免费| 国产情侣自拍在线播放| 激情五月天综合网| 国产天美传媒精品| 欧美色乱| 午夜120视频在线观看| 日日狠狠久久偷偷色综合免费| 久久99黄色卞西瓜| 欧美激色| 少妇一级婬片免费放一级a性色.| 男人的天堂2010| 国产第11页| 欧美激情视频一区二区| 370p日韩欧美亚洲精品| 亚洲丝袜色| 青青伊人这里只有精品| 久99在线免费观看视频| 成人一级性爱| 天天干天天日天天射黄色大片| 97草草| 亚洲无码电影久久久| 黄色性爱网网| 久久深夜无码| 五月天婷婷在线看| 亚洲五月丁香花狠狠干一区二区三区 | 操逼免费视频无码国产| 91女人的网站| 日本成人免费一区二区三区| 思思热在线| 亚洲欧洲无码97久久精品| 啊v在线观看视频| 秋霞无码av鲁丝片一区| 中 文字幕一区二区三四 五 区日 日 骚| 欧美后入式| 国产成人自拍视频视频| 久草成人福利导航| 91老司机视频| 婷婷五月成人| 精品人妻一区二区三区视频在线| 亚洲图片欧洲图片aⅴ| 中文有码第五页| 超碰色综合| 毛片电影一区二区三区| 中文字幕乱偷人妻久久艾草网| 97超碰磁| 97香蕉人人乳| 国产不良强奸视频免费看| 亚洲av在线免费观看| 伊人久大| 再深点灬舒服灬太大了好硬好爽| 国产精品电| 老外又粗又长一晚做五次| 日韩av乱伦| 欧美熟妇亚洲版| A片大香蕉在线| 欧美男女午夜啪啪| 超碰色老头| 日韩精品区二区三区不卡| 一本大道青青| 日本精品88888888| 欧美日韩国产一区二区小黄片大全| 伊人天堂在线| 九九精品无码专区免费| 青青草精品| 日韩性爱视频在线免费观看| 91久久久老司机| 在线综合色| 久操影视| 精品一区二区三区蜜桃臀赵总| 青草精品视频-日本久久久久网站| 激情五月丁香五月| 精品免费视频国产一区| 成人精品欧洲亚洲| 免费视频a级毛片免费视频| 超碰碰97资源站| 久久久一区二区三区四曲免费听| 97综合网| 亚洲素人综合| 日本在线不卡123| a亚洲欧美色欲| 四虎国产成人精品免费一女五男| 思思热久久成人| 啊啊啊啊啊啊啊在线| 久草免费在线一区二区| 天天肏天天干| 久草男人天堂| 91久热| 毛片久久| 久久久久幕乱码| 日本一区三级韩国| 91精品人妻电影| 九久9精品| 一区二区三区四区姦女| 午夜精品久久久久久久99蜜桃一| 91操熟女视频| 精品999日本| 狠狠色丁香| 日本成人A片网站| 黄色成年| 久久久久国产| 麻豆60秒| 日韩乱伦视频| 天天久久| 97久久精品不卡| 天天色悠悠激情| 日韩Va亚洲va欧美Ⅴa久久| 中韩中文字幕在线观看| 亚洲国产精品久久久久婷婷青年| 久久99午夜精品一区人妻| 一起草三级AV电影在线观看 | 婷婷五月天丁香花| 国产91乱伦| 超碰91在线| 91N综合网在线| 日韩无码嘿咻黑热久| 亚洲蜜桃V妇女| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 亚洲图片偷拍视频区| 不卡av免费在线网址| 国桃视频产巨乳精品一区二区在线| 一区二区娱乐网站| 加勒比久久综合网高清| 久一区久久蜜桃| 日本三级韩国三级美三级91| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产真乱mangent| 18+91网站| 香蕉色网| 欧美综合网1| 中美日韩毛片| 亚洲……91| 色色婷婷丁香| 日本99热| 色婷婷影院| 岛国免费黄色网址| 永久免费av无码网站国产app| 天天摸天天操视频| 国产精品白丝AV| 国产一区二区久久| 日日干男人的天堂| 女人天堂AV五区在线| 激情综合五月| 丁香五月大香蕉| 九九色图| 成视频在线观看免费看| 91精品综合久久久久久五月丁香| 亚洲五月婷| 操逼操操操91| 久久婷婷视频| 色噜噜综合在线| 99精品在线播放| 亚洲制服aⅴ中文字幕| 26uuu偷拍亚洲欧洲综合| 69XX一中文字幕人妻91| 国产精品com| 日日夜夜精品视频| 国产精品人妻无码久久久老鸭窝| 美女被啪到深处抽搐视频| 亚洲无992tv| 欧美天天综合网| 国产成年女黄特黄| www亚洲免费| 久操网址| 99ri精品| 久久久久久大| 欧日韩在线观看| 欧美91丝袜| 欧美淫乱视频| 九色黄站| 国产精品区在线12p| 乱伦图一区| 内射小黄片| 国产h片在线观看视频| 97人人操人人摸人人爱| 99久视频| 嗯嗯啊啊视频一区二区三区| 好涩综合| 天天综合网日韩7799| 日韩国产中文字幕| 久久久久久久少妇| 97jingpin| 欧美日韩中文字幕不卡| 尹人免费观看视频在线| 啪啪啪东京| 色综合久久av| 立川理惠无码一区二区| 日韩一999精品| 二级久久网| 东京热,男人的天堂| 亚洲综合影院| 亚欧成人中文字幕一区| 精品人妻一区二区三区-国产| 台湾大香蕉99热| 久久亚洲一区二区色婷婷| 日本不卡二区| 天天综合网站| 超碰到97情色| 极品综合| 人妻天天操天天爽视频免费| 老鸭窝日丰县女人| 福利视频香蕉免费一区二区在线| 99久久国产精品免费高潮| 色婷婷激一区二区三区| 久久超碰免费的| 亚洲天堂2020| www.色婷婷.com| A一级色女| 日本性感人妻91| 玖玖在线视频| 日韩射图| 手机看片1025| 亚洲凸凹超碰成人| 秋霞无码av鲁丝片一区| 97大色网| A级片日韩欧美国产欧美视频精选观看| 天美麻花大全视频| 91超碰丝袜制服| 中文字幕中文字幕一区二区| 青青草乱入乱欲视频在线观看| 91在线欧美| 五月综合久久| 深夜国产福利| 亚洲影视综合网| 五十路一区无码| 人妻AV在线| 大色网久久| 久久露脸国产老熟女| 色婷婷一区二区三区久久午夜| 亚洲精品乱码线路中文字幕| 青青草啪啪网| 国产精品嫩草影院免费| 色妇91| 亚洲国产精品9999在线观看| 日本东京热大香蕉a片| 国产精品久久妻无码网站| 宅男91视频在线播放| 亚州性色| yirendaxiangjiashipin| 久久的免费性爱视频| 尻女朋友一夜| 亚洲另类小说卡通动漫| 国产风韵犹存熟妇三区| 美女自卫慰黄网站免费| 麻豆精品.欧美精品.日韩精品.| 免费观看的av| 日本乱人伦片中文三区| 日韩不卡码| 欧美人妻制服| 精品国产嫩穴视频| 久综合国内精品自在自线| 欧美亚洲高清不卡| 精品妇女一区二区三区| 日本在线播放不卡一区| 国产亚洲精品精AV.| 亚洲色图伊人网| 亚洲男人天堂2019| 熟女网站最新| 日韩免费a级毛片无码a∨| 国产美女裸体秘 永久无遮挡| 午夜啊啊| 精品网站9999| 在线观看AV片| 亚洲综合网91| 伊人伊人LD| 亚洲精品日韩国产欧美| 国产日韩久久| 97jingpin| 天天影视色香色欲| 人妻 中文 日韩| 婷婷人妻激情| 97精品视频免费| 欧美精品1区2区3区| 久久久久久97| 热久久无毒不卡| 偷拍欧美综合| 蜜乳AV网址| 蜜臀久久久99久久久久 | 搡老女人老91妇女熟女| 久久超碰爱| 国产一级内射无挡观看| 97天天| 极品久久久久久久久久久久久久| 综合激情一一91| 99热久| 911av网站免费观看| 日日夜夜骑| 北条麻妃性愛视频| 国产精品2020| 97色在线观看| 日本亚洲熟女视频| 三级特黄60分钟播放| 美欧色综合| 亚洲日韩乱码中文无码蜜桃臀网站 | AV一起草在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 偷拍导航视频网站| 久九9精品| 国产精品久久久久久夜夜夜| 少妇超碰在线| 欧美99热| 日韩国产中文字幕| 亚洲无码久久久久久久| 不卡av在线中文字幕| 国产精品久久| 亚洲动态色图| 中国和日本人色哪个不下载能放| 天天内射| 99RE在线视频精品,这里只有精品| 五月天偷拍| 免费A V在线| 影音先锋乱| 亚洲欧美自拍偷拍| 无码精品久久| 尤物av网站免费在线播放| 九九久久久| 男女啊啊啊啊啊| 婷婷九月丁香| 97超碰国产亚洲精品| 加勒比伊人综合| m欧洲一级午老| 欧美日韩淫加| 青青青青草av在线观看| 97资源超碰| 99re这里只有精品9| 亚洲日韩狠狠撸视频| 美女露胸露奶头| 亚洲国产精品乱码在线观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲 日本 国产 综合| 一道α片欧美| 九九视频黄色片| 一级人妻性爱视频| 欧美日日操| 亚洲图片婷婷五月天| 97在线精品观看视频| 日本成人A片网站| 男女性感激情网站| 1禁看欧美黄片免费看| 日韩人成网站在线播放| 中文字幕精品区先锋资源| 日韩av不卡在线观看| 激情五月天丁香社区| 丁香五月婷婷基地| 亚洲国产一区二区三区在线 | 涩五月婷婷| 日本有码影片下载| 久久夜色一区二区| 制服中出中文人人精品| 97精品人妻一二三四| 粉嫩av一区二区三区天美传媒 | 久久久久久九九九九九九| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 日韩电影天堂视频一区二区| 五十路熟女在线不卡观看一区二区| 欲综合网| 久久超碰国产一区二区三区| 国产精品久久久久亚洲av| www网站黄| 亚洲日本成人动漫| 欧美综合制服在线| 国产精品秘 福利姬在线观看| 国产亚洲在线| 日日夜夜青青草母狗| com 首页 18岁 禁区 女优 免费 精选 同城 | 国产熟妇 码视频户外直播| 高清无码在线播放网站| 日韩人妻无码专区| 伊人丝袜美腿高跟在线观看高清| 啊啊啊轻点在线观看| 日日夜夜精品视频| 国产久久av| 中文字幕av色| 日本天堂在线播放| 免费精品无码一级毛片牛牛影视| 思思热er精品视频| 欧美日韩99精品麻豆传媒| 亚洲鸥美色图| 操国产逼| 亚洲人人操| 大乔未久88一区| 一级二级在线观看| 五月天婷婷基地| 熟女自慰久久久| 精品久久97| 嫩草一区二区在线观看| 天天综合网91入口| 天天狂操夜夜狂日| 久久成人国产| 欧洲射精91| juliaann欧美丝袜办公室| 美女尤物人人操| 亚洲狼狼干综合1| 亚洲综合色图欧美| 深夜国产一区二区三区在线看| 日韩精品三区四区| 外国免费性情大片| 偷看洗澡一二三区美女| SUV一区二区在线看| 性天堂| 婷婷在线视频| 人妻少妇无码| 亚洲AV无码国产成人| 国产二区三区粉嫩在线| 亚洲一区操| 岛国小电影| 91殴美| 中文字幕在线观看丝袜| 清纯唯美激情| 99精品热| 蜜臀久久久99久久久久 | 激情抓乳插进去啪啪啪日韩| 日本加靬比网站发布页| 思思热国产高清| 午夜精品久久久久久久男人的天堂 | 欧美v日韩v亚洲v最新在线| 亚洲1区| 啊啊啊好大好深| 超碰99在线观看| 亚洲高潮影院| 丁香六月综合激情| 97久久国产精品女不卡| 日本三级韩三级99久久| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 午夜福利在线视频1000| 国产二区视频在线观看电影| 欧美72网页| 国产91乱伦| 国产久久久久影院老熟女| 日本欧美韩国国产在线| 久久高清无码夜夜操| 家庭乱伦性爱av| 欲色啪| 色综合久| 性综合网| 美女AV一区二区| 色综合av男人天堂| 日韩欧美三级| 欧美专利1区2区3区4区5区免费| 亚洲欧美高清无码| 诱惑人妻欧美一区在线播放| 久久久无码av精| 亚洲精品乱码久久久久久蜜桃麻豆| 偷窥自拍亚洲天堂网爆| 欧美性爱第1 页| 大香蕉欧美伊| 亚洲Av无码成人精品国产| 久久精品区| 97欧美精品综合| 日韩一性一交一A片俄罗斯| 欧美另类天堂| 久久秀这里有精品| 日韩色欲久久一二三四区| 亚洲色棕合| 禁片 高清 在线观看视频网站| 日韩视频精品在线观看| 亚洲欧洲无码一区夜| 99热网站| 亚欧毛片基地国产毛片基地| 91色伦| 一区久久久二区| 多毛小伙内射老太婆| 亚洲资源吧| 1024久久高清视频| 97日韩欧美| 久草综合视频| 狠狠综合网| 亚洲影院无码在线| 亚洲激情欧美色图 | 欧美大香蕉卡久久| 一类av片在线看| 久久伊人影院| 色亚州人久干视频在线观看免费版| 男人夜色天堂ss| 操操吧亚洲乱伦视频| 天天综合网在线91| 熟女精品一区二区在线观看| 国产刺激视频| 青娱乐久久艹| 97人人夜夜精品视频| 免费视频观看60秒| 鸥美极品| 婷婷激情一区二区三区俺也去| 91干熟女| 日本精品无码三级网站| 欧美Ⅴ性爱| 欧美草草高清日韩视频| 国产青青美女玩逼视频| 久热久一区二区三区| 91成人久久| 亚洲性爱电影| 日本性爱视频一级| 97草草| 国产成人主播| 狠狠热这里都是精品| 国产又粗又又黄又猛| 东亚亚洲无码高清| 亚洲天堂中文字| 日韩免费a级毛片无码a∨| 国内外激情在线| 狠狠操狠狠燥| 超碰97在线中文| 欧美综合第一| 色妹子A V| 丁香六月婷婷久久综合| 黑人精品XXX一区一二区| 久久久91| 美女91| 久久久久久久久久久精| 久插综合| 狠狠干精品一二三四五六2022| 91亚·色| 欧美一区91大爱| 激情第四色| 开心激情婷婷| 在线欧美69V免费观看视频| 91精品国产91久久福利| 亚洲一区中文精品| 波多野结衣AV无码一区| 一级毛片电影免费看| 久久人爽| AV丝袜东京热| 亚洲91大片| 夜夜嗨绯色| 蜜臀av中文字幕| 安微少妇操BBB| 欧美激情亚洲情色| 久久亚洲一区女同性恋中文字幕| 超碰欧美COM| 99热线麻豆 | 97操| 色翁荡息又大又硬又粗又爽| 成全在线观看免费观看| 激情抓乳插进去啪啪啪日韩 | 另类欧美| 噜噜噜亚洲精| 国产99999| AV麻豆免费一区| 欧美色亚洲色| 一区二区不卡视| 国产欧美在线观看免费观看| 国产一区自拍欧美日韩| 一线黄色免费性爱片| 国产亚洲色婷婷久久99精品91葵花宝典| 欧美视频一区二区在线| 日韩不卡毛片Av免费高清| 91久久婷婷| 国产人伦精品一区二区三区| 99re95| 综合大香蕉美。| 日日躁夜夜躁狠狠躁超爽| 加勒比综合网| 成人三一级一片aaa| 综合久久婷婷| 狠狠热这里都是精品| 91老熟女老女人国产老太| 亚洲综合有码| 欧美性爱18观看| 亚洲色 国产 欧美 日韩| 99在线精品视频| 天堂精品小草| 久久中文字幕女同性恋一区| 少妇淫妇久久久久久久| 国产成年精品高清在线观看91| 日本 欧美 国产一区| 亚洲精品久| 97国产综合欧美| 91在线欧美| 高跟丝袜AV专区国产| 亚洲国产第一页综合视频| 亚洲一二三| 在线情色电影 91大| 久久久91| 久久性爱网站| 四季AV综合网址| 97超碰国产亚洲精品| 91精品人妻偷情| 动漫爆乳3D奶水一区在线观看| 天美av在线观看| 熟女91网| 欧美探花网| 欧美精品另类人妖xxxx| 另类专区加勒比| а√天堂资源官网在线资源| 亚洲精品视频在线| 亚洲人久久久网| 亚洲欧美小说| 综合色99| 亚洲女人毛茸茸91| 性无码专区2020| 五月天社区| 欧美亚洲清纯| 在线观看成人性爱免费小视频| 熟妇人妻精品一区二区视频色欲| 九久久精品| 一级黄色视频网| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 丁香九月 婷婷| 国产熟女少妇一区| 亚洲情色 自拍| 日本不卡高清视频| 欧美性战999| 久操免费在线| 婷婷啪啪| 日逼97| 色官网在线| 麻豆区久久久久亚| 黄色AAAAA欧美| 天天看人人操屄犊摸阴| AV麻豆免费一区| 国产av高清版| 99999国产精品| 可以免费观看的AV| 欧美综合中文| 亚洲色诱惑| 国产精品白丝AV| 精品国产片亚洲一区| 欧美精品双插| 性暴力欧美猛交在线直播| 人妻精品4K4K4K4K4| 伊人国产AV| 色九九综合| 中文字幕一区二区三区人妻不卡| 男男H黄动漫啪啪无遮挡网站| 欧美综合网1| 日操粉逼逼| yazhouzaixian| 久久久久国产精品片区无码直播| 日韩精彩视频| 国产成人自拍视频在线| 青青草在线视频播放器| 欧美极度丰满熟妇hd| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 999热日韩精品| 免费a在线播放v| 欧美精品系列| 色色亚洲| 一级乱伦网站| 日本一二三高清| 国产日韩在线播放av| 亚洲 欧美 小说| 国产网红精品| 国产精品乱码久久久久久久| a级理论午夜日本| 亚洲综合九| 激情看片网站| 伊人加勒比| 成人久久无码www| 日韩久久.一级黄色片| 青青草久草AV| 色色色综合网| 亚洲中文字幕熟女| 久草综合视频| 黄色一级视| 啊啊啊啊啊啊在线观看| 一区二区三区国产精产| 在线看的av| 久噜噜| 狠狠色综合网| 高清国产无码av| 九九热精彩视频| 四色永久成人网站| 97久久网| 激情啪啪视频| 色婷婷视频| 久久天天艹| 人人操人人精品影片| 97精品国产97久久久| 久久黄片国产一区二区| 淫穴高潮色图| 欧美另类色图片| 无码一区二区精品视频久久久春药 | 亚洲人妻一区二区三区| 亚洲国产成人7777| 亚洲综合色图欧美| 亚洲综合性感在线| 色婷婷五月综合激情中文字幕| 欧美成人性活片| 91N综合网在线| 1024久久高清视频| 国产福利影视| 亚洲无无码αⅴ每日更新| 污电影在线观看| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国产精品视屏| 国产亚卅97| 99色色网| 亚洲av影院在线观看| 男人天堂欧美| 新91视频.cmp| 97色视频在线| 超碰97欧美在线| 懂色AV蜜臀无码精品APP| 男女猛烈无遮掩视频免费软件| 性欧美| 蜜臀99999| 97色插| 日本午夜精品理论片A级APP发布| 另类小说综合网| 久久久不卡| 欧亚 另类 久| 久久久99999久网站| 99re3这里只有精品| 人人操AV| 欧美精品久久久久久久久88| 中文字幕在线观看永久| 免费a v| 亚洲 在线| 色色青青久久| 91男人天堂网| 91路www| 亚洲中文人妻色| 欧美黑人猛交春色影视大全| 抽插无码高清一区| 日本国产欧美高清在线| 黄色片A级一区二区三区| 亚洲欧美高清| 精人妻一区二区三区| 亚洲中文字幕久久无码精品| 91亚洲欧美综合高清在线| 欧美婷婷久久| 另类av天堂| 日韩天堂av电影在线观看| 性欧美另类高清| 色五月激情网| 亚洲激情综合| 蜜臀少妇一区二区| 99无码视频| 操操AV电影| 综合五月天| 偷拍伦理视频| 性爱久久| 97在线免费看| 中文有码第五页| 九九九久千久久激情蜜桃在线看 | 九九碰九九爱97超碰| 极品少妇久久久| 久久伊人影院| 久久久久久九九九九九| 女人综合网| 亚洲全色网| 国产在线观看一区二区三区| 久久久久女教师免费一区 | 色综和网| 国产精品乱人伊人网| 丝袜性亚洲| 人妻熟妇久草在线| 亚洲国产中文字幕| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 欧美日韩国产电影| 天天摸夜夜摸| 性爱AV天堂| 91模特在线观看| 99色热| 亚洲精品久久久久毛片A片拉屎 | 久久久久久日韩| 欧美v亚洲v日韩v最新在线二区| 色综合久| 天天综合网国产| 日本九九久久99播| 青青草玖玖爱| 最新制服中文第一页| 色欧美亚洲| 欧美日韩不卡a片| 蜜臀操逼黄色视频操的好爽| 成人情色一区二区| 操学生天天| 国产精品在线一区二区| 日韩超碰97| 激情小说图片亚洲首页| 在线无码操| 99re这里只有精品中心播放| 97精品视频免费| 亚洲性爱无码乱伦av| caorenqi shipin| 粉嫩久久久久| 97久久网| 无码av永久免费专区网站| 国产精品一二三区福利| 大香蕉中文aV在线| 亚洲黄色电影| 国产亚洲日韩在线三区黑人| 日本污ww视频网站| 天天摸天天碰天天添青青| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 国内精品999| 97网址97| 日本孕妇一区二区视频操逼免费看 | www.91理论| 狠狠操夜夜操蜜桃视频三区| 久神马| 亚洲欧美内射| 国产日韩精品人妻久久久久色欲网站| 五月婷婷综合网| 超碰中文字幕人妻草一区| 偷拍盗拍亚洲色图图片| 久久综合亚洲色1080p| 激情五月激情综合网| 亚洲欧美在线综合| 超碰78| 丁香六月啪啪| 蜜桃狠狠色伊人亚洲综合| 久久大| 九九热最新| 激情小说亚洲图片| 干我久操| 久久这里都是精品| 无码精品啪啪啪一区二区三区三州| a男人的天堂久久一级A毛片| 色色色色电影网| 99久在线精品99re8热视频在线| 无码动漫av中文字幕| 激情婷婷| 日日97| 最新中文字幕精品在线| 安徽熟妇视频| 久久成年片色大黄全免费网站| 大地资源在线观看中文第二页| 久久爱超碰网| 国产 大胆 对白| 午夜精品久久一区二区| 啊啊啊啊好疼视频| 亚洲 欧美 综合 91| 久久久男人的天堂| 色天堂综合| 精品美女少妇一区二区| 亚洲激情欧美色图 | 一区二区精品更新提醒| 久久久性爱视频| 97久久超碰日韩精品| 午夜福利国产欧美日韩夜夜| 操逼片国产| 精品久久視頻在线| 99日免费视频中文字幕| 精品97久久| 国产精品黄色三级av| 五月婷婷综合网| 天天摸夜夜操视频| 成人线上超碰| 永久免费发布性爱网| 欧美不卡在线美女| 日日夜夜骚| 欧美亚洲首页| 亚洲超碰AV| xxx亚洲午夜天堂| 久久午夜神马| 亚洲综合中文字幕有码| 色噜噜人妻av 中文字幕| 国产精品97超碰| 日韩99精品视频综合区| 亚洲va综合va国产va中文| 伦理弟一页| 国产精品香蕉| 五月丁香| 羞答答AV中文字| 欧美性爱无码一区二区三区| caopeng97| 久久精品28| 亚洲日韩美国人妻| 青青草伊人久久| 啊啊啊爽爽| 欧亚在线视频| 国产诱惑| 秋霞成人一级在线观看| 91色综合激情| 精品视频在线观看精品| 日韩在线观看中文字幕视频| 人人噜夜夜操| 日韩精品 欧美激情| www.色婷婷色综合| 日本国产二线女色| 岛国大片在线观看网站入口| 国产午夜视频| 日韩偷拍一区二区三区 | 黄片www视频免费| 久久草草欧美精品| 91插B网站| 久久东京国产精品视频| 九色 蝌蚪 熟女自 | 色欧洲97| 国产亚洲美日韩Aⅴ中文字幕无码成人| 亚洲色图20p| 日韩成人精品| 67914在线精品观看| 草草电影院| 久久AV无码1区2区3区| 在线视频亚洲无码| 国产农村妇女精品一| 国产精品久久久久无码Av网曝门 | 亚洲精品97| 一本一道人妻久久一区二区三区 | 国产精品久久久久久久无码AV| 99色在线| 揉揉日日日日| 欧美专区第一页| 蜜乳视频网站| 99RE在线视频精品,这里只有精品| 亚洲图片色图欧美另类| 天美一二三在线观看Av| 成人无码在线视频网站| 欧美91网站| 日韩免费a级毛片无码a∨| 国产AV天美| 精品中文字幕一区二区l - 百度| 久久少妇人妻| 丁香色色网| 国内偷拍精品一区二区| 嗯嗯啊啊用力视频免费| 欧美日韩亚洲一区二区在线观看| 欧美人人天天网| 黄片直播三级黄片两女一男| 99re黄| 久久一区无码| 国产探花日韩援交| 色综合 加勒比| 青青国产精品在线| 精品三级在线专区| 物业黑人 AV一区| 天美AV片| 999精品国产高清一区二区| 午夜精品久久久99热蜜桃的功能特点| 91超级碰碰| 无码高清操逼| 精品美女久久一二三| 中国探花熟女| 亚洲天堂2020| 内射中出日韩在线观看视频| 欧美爱三级日韩久久| 乱伦图av| 五月天AV资源| 97人人爱人人做人人乐| 精品一区二区亚洲国产| 中文字幕后石码四区五区| 日韩精品怡红院| 国产精品一二三免费网站| 少妇厨房愉情理伦片bd在线观看| 国产精品3| 艾草av| 日韩一级片| 97在线精品观看视频| 中文字幕精品码亚洲| 亚洲成人精品久久久| 99色在线视频| 国产精品无码av| 夜夜嗨视频| 亚洲AV永久无码精品成人调教| 天美一二三在线观看Av| 九色视频91| 无码操逼网| 香蕉国产精品麻豆亚洲欧美日韩| 久射吧| av亚洲天堂资源网站| 性爱久久| 色香色欲天天综合网天天来吧| a级免费在线观看| 婷婷性网| 国产中午字一暮区| 欧美色图天堂网m| 久久国色天香香蕉| 五月色综合| 在线精品福利免费播放| 亚洲国产av中文字幕久久 | 韩国一级AAA| 五月天婷婷在线看| 天美传媒麻豆一区二区三区国产精| 超碰碰激情97+久| 黑人中出21连凳花野真衣| av九九| 狠狠色婷婷7777久| 探花激情视频| 久久亚洲国产成人| 亚洲精品久久久久毛片A片拉屎 | 人妻三级在线中文字幕| www.人人摸在线视频| 老女人91| 玖玖爱伊人玖玖爱| 久久9精品网站| 亚洲一二三| 被男人吃奶很爽的毛片| 婷婷色综合欧美日韩| 美女91网| 91精品国产91久久久久久久久久久久| 黑人粗大V S日韩女优视频| 99爱精品| 亚洲 日韩 欧美 国产综合体| 91丨九色丨43老版熟女| 国模精品一区二区三区苹果色戒| 无码国产Av| 亚洲二区精品在线观看 | 97AV在线免费观看| 亚洲一二三| 亚洲男人的天堂V| 色诱avtt| 熟女AV一区| 亚洲精品久久久久久| 欧美青青草视频| 人妻熟女一区二区在线视频| 欧美综合天堂| 亚洲综合在线91|