久久亚洲成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
返回資訊列表
大香蕉十区| 伊人久久大香线综合无码| 国产成人五月天丁香花| 青青草乱入乱欲视频在线观看| 国产极品美女高潮无套在线观看 | 91色堂| 色情五月综合婷婷| 人人性爱视频免费| 另类图片五月天| 欧美黑人与女人91~| wwwcaobibi| 免费精品国偷自产在线在线| 欧洲亚洲人妻无码高清久久三区四区| 日本3级一区二区免费| 男人的天堂2010| 亚洲男人天堂视频| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 后入式福利| 亚洲色9| 93人人操人人| 亚洲熟女乱色一区二区三区| 搡老女人老91妇女老熟女| 日韩精品一区,二区 九九...老司机| 欧美日韩情色一区二区| www.夜夜| 亚洲精品美女久久久久久久久| 日韩免费av片高清无码| 欧美中出1| 亚洲各类熟们中文字幕| 日韩天天本| 玖玖久久久| 无遮挡男女激烈动态图| 色婷婷99| 牛牛aV| 97超碰超| 99在线精品观看视频中文| 久久久久久久久久久久黄色| 天天干天天日天天射黄色片| 校园春色欧美色图| 色av中文字| 国产情侣自拍在线播放| 精品无码不卡视频| 超碰在线香蕉| 国产精品久久久久久高清无码免费看| 97欧美精品综合| 国产性爱欧美性爱在线| 久久青娱乐| 三上制服丝AV| 久久天天性久久伊人| 久久九九网| 丝袜AV一二三区| 亚洲密乳AV| 豆花视频操逼网址| 国产综合网站在线播放| 天天色天天干天天爱| 日本东京热加勒比久久| 翔田千里无码中出中文字幕| 成人性爱高清视频免费看| 高清无码国产亚洲| 极品内射| 少妇淫妇久久久久久久| 6080YYY午夜理论片在线观看| 国模不卡| 天堂国产AV| 后入合集| 蜜桃视频成a人v在线| 91亚州日韩高清| 欧美亚洲涩涩| 精品人妻一区二区三区四区不卡在| 天美传媒AV在线播放| 思思热在线cao| 韩日无码在线观看| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 国产中文字幕曰本毛片| 67194国产| 日本一区二区电影网站| 亚洲女优有码无码高清| 久久免费精品视频免一| 亚州色图欧美| 92性色国产午夜福利在线661| 大香蕉丝袜一级片| 伊人久大| 亚洲色色探花| 久久九七| 成人免费性爱视视| 伊人久久亚洲中文字幕| 老熟女综合| 婷婷久久五月| 夜夜黄| 天天日B夜夜干B时时操B| 男人的天堂VA在线| 久久五十路熟女人妻| 欧美色图亚洲色图成人在在线| 精品人妻久久久| 91综合在线| 90后性网国产欧美| 日产精品久久久一区二区| 密乳AV免费观看| 日本免费一区二| 国产成人久久精品蜜臀| 久久天天摸| 3P丝袜熟女 色综合| 亚洲超碰AV| 激情久久日韩精品中文字幕麻豆| 在线无码视频| 欧美国产操逼| 蜜臀va69| 九色PORNY9l原创自拍| 伊人 俄罗斯 a v| 精品欧美А∨无码黑人大荫蒂| 1二区9| 久草国产在线视频| 精品人妻一区二区蜜桃视频| 日韩精品一二三四| 亚洲春色一区二区三区| 日韩精品人妻系列无码天堂| 日韩在线一区高清在线| 熟女91网| 欧美一区二区三区黄色影视| 亚乱色| 日韩女模中文造逼| 四虎影视永久在线观看精品免费网站| 高潮毛片无遮挡高清免费| 日本不卡码黄色| 国产精品爆乳懂色蜜乳| 婷婷丁香一区二区三区| 超碰97首页| av情色影音| 操死我了嗯嗯嗯| 秋霞蝌科网日本一区| 青青久日| 综合网~91综合网| 欧美一区二区三区日韩| 久久久久久久久久久久97| 6080yy午夜理论三级一区二区三区无码 | 91亚洲色人| 9久精品视频在线观看| 国产在线视视频有精品| 操逼网站网站| 欧美在线第五页| 99久久com免费视频′| 91久久青青草原精品| 欧美色图电影| 成人精品视频| 欧美最婬乱婬爆婬性视频 | 亚洲天堂,男人| 国产 无码 一区二区| 久9久| 黄片无码在线制服| 性一级黄色录像片网站导航 | 天美传媒AV在线| 操死我干死我| 国产AV超爽| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 日本操逼视频免费| 成全动漫视频观看免费下载| http://qxhbdz.com| 亚洲av综合色区无码一| 蜜臀99久| 超碰久超碰久| 天天插夜夜爽| 插老姨肥穴| 99这里都是精品| 高跟丝袜AV专区国产| 人人人摸人人| 日本在线观看网址| 久久春色| 超碰九7| 亚洲熟妇白浆无码AV| 欧美天天综合站| 中文在线久久字幕| 男人的天堂2010| 日韩成人大片在线观看| 久久久久九九九| 亚洲国产ⅴ高清在线观看| 亚洲人成网站7777| 色综合一本| 爱妃国产亚洲视频中文字幕| 久久东京热久久| 日本大香蕉综合网红本杳社区| 欧美一区二区传媒| 欧美另类自拍| 色综合久久夜色精品国产天堂 | 黑人性欧美| 久久久久久中文| 伊人久久蜜月| 欧美综合第一页| 亚洲黄色影视| 18禁免费视频| 久久精品国产Aⅴ| 成人五月天色网| 超碰97精品在线| 91精品黄在线观看| 亚洲综合五月天| 3D污黄视频在线观看| 精品蜜乳AV免费观看| 999 久久久| 按摩中文字幕| 久久人妻视频网| 99久久久无码国产精品性男| 国产欧美一级在线观看| 丝袜人妻av一区二区| 亚洲情色综合网| 日韩一级二级| 天天拍天天操| 国产精品女久久久久av爽| 久96热在线观看视频| 校园春色综合网| 色97欧美| 偷拍亚洲情色| 97色欧洲| 亚洲天堂资源网| 岛国黄片网站| 亚洲AV秘 精品久久老牛影视| 夜夜操美女| 亚洲日韩精品久久久久一区壹牛 | 91情色在线| 欧美se综合| 亚洲天堂加勒比| 欧美日韩另类激情图片| 在线不欧美| 天天看天天日| 日本熟女中文字幕一区| 日韩精品中文字幕二区| 亚洲精品男人的天堂| 黑丝91视频| 精品人妻视频一区二区三区蜜桃视频| 亚洲欧美日韩电影网站一区| 国产av色网| 欧美,日韩,中文,另类| 91少妇香蕉久久精品| 日韩色女精品| 久久系列| 在线A日本| 青草av在线| 99re不伦| 亚洲高清自拍| 亚洲AV性爱电影| 99国产精品视频尤物| 国产树林里野战在线看| 亚洲无套久久嗯嗯| 秋霞鲁丝午夜无码一区二区三| 欧美精品偷拍| 色五月AV在线| 欧美一区二区三区互相| 欧美黄片视频在线观看免费| 天天影视色香色欲| 超碰9 7女人 | 欧美Aⅴ| 中文字幕亚洲在线一区| 男人干美女| 日产精品久久久一区二区| 涩综合导航| 亚洲AV成人无码一区二区三区在线观看 | 1024手机看片欧美日韩| 偷拍在线观看视频| 亚洲欧美天堂| 亚洲欧美国产其他二区| 蜜臀亚洲综合一二三四区| 一级二级在线观看| www.久久99| 97精品在线| 精品女同一区二区三区| 黄色av片三级三级三级免费看| 中文字幕乱碼在线| 天天综合网网欲色| 男人天堂2012| 日韩十八禁| 亚洲,日韩,欧美,成人播放| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 欧美性第1页| 在线观看高清AV| 乱码熟妇人妻久久久| 亚洲精品欧洲色| 无码精品蜜桃一区二区三区ww| 射丝袜高跟鞋99| 久草这里只有精品 | 国产视频小说| 91高清无码下载| 婷婷五月天久久精品视频一区二区三区| 破处bbq| 日韩人妻 中文字幕| 99在线观看无大码| 啊啊啊好多水| 欧美熟爽综合| 草草影院最新网址| 色九九综合AV| 亚州AV无码国产精品| 九九九久| 国产精品秘 福利姬在线观看| 天天影视之亚洲综合网| 国产成人精品日本视频| 人妻内射一区二区在线视频| 在线播放免费av福利片| 另类av综合久久| 嗯啊视频免费在线观看| 香蕉国产97| 中字乱伦AV| 国产97色在线 | 亚洲| 亚洲最大无码中文字幕网站| 九九九九免费视频| 99热在线观看| 韩国免费播放一级毛片| 国产精品久久久久久久久久久久久久久 | 超碰人人草| 懂色Av| 夜夜国产一区| 亚洲av强奸乱伦| 91天天综合日韩欧美| 熟妇人妻一区二区| 26uuu性| 日本不卡高清免v欧美日韩在线观看| 欧美日韩啪啪电影| 欧美天堂第二区| 日韩三级性| 草伊人高潮喷水超碰| 亚洲高清无码免费观看视频| 五月香婷婷| 日本免费中文一区二区三区四区| 中出91视频| www99热| 91男女啊啊啊| 欧美 亚洲 另类 综合| 性性久久| 粉嫩久久久极品| 天天影视综合色| 男女无套 免费网站| 日韩欧美大片免费高清啪啪| 欧美手机在线综合| 欧美日韩丝袜| 福利社区午夜一区二区| 青青欧洲黑| 欧日韩不卡视.频| 麻豆久久精品亚洲精品88| 美女天天干| 干干干天天| 欧美日韩性爱无码| 青青草五月天| 超碰人妻天天干| 激情天天视频| a片在线播放| 性欧美第一页| 啊啊啊男女| 国产乱码精品久久久久久| 成人老鸭窝人人在线视频| 九九精品美女高溯喷水| 操少妇很爽av| 性欧美天天| 精产国品一区二三产品| 青青草日逼视频| 操人妻少妇中文| 欧美色偷拍 | 亚洲人综合| 丝袜视频一区二区在线播放国产中文 | 超碰97极品9| 岛国激情视频在线观看| 91狠狠综合网| 乱伦熟女论坛| 五月丁香啪啪网| 天美av在线观看| 精品一区二区2| 囯产精品久久久久久久久久二区三区| 韩日欧亚a级| av日韩中文字幕| 97久久国产精品| 激情五月天网站| 99re视频在线观看这里只有精品| 五月丁香| 亚洲av噜噜噜噜噜噜| 天天日天天舔天天喷天天射| 亚洲成成熟女人综合一区二区| 黑人狂躁日本妞一区二区三区| 男人的天堂在线| 久久精品日韩| 日韩不卡毛片Av免费高清| 婷婷亚洲五月***久久| www久| 欧美午夜精品久久久久久超碰| 日本免费不卡二区| 一本一首道人妻少妇免费久久| 国产传媒一区日韩| 日韩9999| 国产老熟女| 热思思免费视频| 中日韩熟女| 动漫av中文| 99热9| 五月天久久综合网| 福利色色| 亚洲图片激情小说| 久插综合| 日本一区二区三区免费观看| 青娱乐av在线| 偷拍盗拍亚洲色图图片| 亚洲中文字幕精品久久久久久直播| 亚洲亚洲亚洲天堂天堂| 亚洲成人日韩小说| 久九九九九九九热| 99久久这里只有精品| 中文字幕一区日韩精| 亚洲欧美大香蕉| 伊人久久大香蕉线AV五月天| 国产日韩欧美操逼视频| 久久人妻无码毛片A片麻豆| 亚洲欧美成人在线| 亚洲黄色| 狂操嫩妻视频一区二区三区| 久久精品一区二区三区蜜桃臀| 日韩精品区二区三区不卡| 高树玛利亚无码流出| 91国精产品| 精品国产乱码久久久久久蜜臀| 亚洲精品国产无码高清| 亚洲天堂99| 97干在线看| 91老熟女91老女人| 欧美综合传媒| 欧洲精品网| 亚洲字幕一区二区| 婷婷五月天色网| 久草成人福利导航| 久久久久久久久国产| 75大香蕉| 330dv亚洲成年视频网| 男人的天堂2018东京热啪啪啪| 曰韩精品视频一区二区| 色臀av| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 日本在线不卡一二区| 狠狠色五月亚洲91| 亚洲天堂另类美腿| 国产9熟妇视频网站| 国产精品岛国片在线观看| 密臀在线一区尤物| 天天欧美色| 久久久久亚洲一区女同性恋中文字幕| 91亚洲电影| 久久精品无码专区| 亚洲精品欧洲精品| 久久婷婷影院| 日日躁天天躁狠狠躁| 久久精品老司| 有码免费观看| 操熟女91| 亚洲一区中文字幕一区| 亚洲综合69| 精品九九九九九九| 日韩性爱网址| 国产风韵犹存熟妇三区| 亚洲一区二区三区播放在线| 久久人人妻| 福利五区| 丝袜无码a片| 激情色播| 性色生活片久久毛片婬片免费放女人一级毛片 | 久操| 亚洲天堂,男人| 日韩激情啪啪啪| 国产精品白领在线观看| 一卡二卡在线播放| 久久av网| 日韩啪啪啪啪啪| 操逼网站地址| 亚洲暴力强奸AV| 九九九国产| 综合色色网| 日本ZZ高免费A级视频| 亚洲怡春院| 五码视频在线观看| 国产怡红院| 狠狠爱综合网| 97超碰碰碰| 婷婷爱五月| 日本精品第一视频在'| 人人做天天爱| 男女激烈网站最新| 日韩综合97P| 国产在线能看的你懂的| 东京热,男人的天堂| 国产一区二区三区导航| 天天干干天天干干| 国产精品点击进入在线影院| 日本操逼视频不卡直接放| 欧美综合亚洲综合| 精品欧美老熟女一二区| 欧美一区二区一级岛国大片| A一区片| 另类视频在线| 风月影院男女十八禁| 亚洲性爱免费电影| 欧美激情视频一区二区三区不卡| 亚洲妇色| 久久久久国产| 天美久久久久| 2017大香蕉| 亚洲中文字幕熟女| www..com操老师| 五月激情啪啪| 欧美综合骚| 6080YYY午夜理论片在线观看| 久久久久久久78| 亚洲中文字幕网| 人妻夜夜爽天天爽麻豆三区网站| 成人一二| 久久大陆| 欧美色图在线视频少妇| 97色碰| 这里只有精品视频在线观看麻豆| 91丝袜美女国产| 丰满搜索结果 -第18页- 久久高清无码| 青青草五月天| 午夜福利 成人 91| 嗯嗯啊中文字幕| 精品一级毛片在线观看| 330Dv国产女人终合视频极品人与兽 | 老熟女综合网 | 亚洲一区二区三区播放在线| 伊人嫩草| 日韩乱码Av| 91久久免费视频互動交流| 天堂资源站| 免费黄色片子| 午夜男女爽爽大片免费观看| 国产日韩欧美| 91五月天| 亚欧性爱无码| 校园春色 亚洲| 蜜臀久久99精品久久久久久成人小说| 国产丝袜欧美在线视频| 欧美一区二区情色| 正宗无毛一线天嫩逼| 亚州,欧美在线| 亚洲AV噜噜狠狠网址蜜桃动漫| 97综合网| 99操| 综合色99| 蜜乳中文字幕a在线| 亚洲drav色图| 天天影视色香色欲| 日日操丁香五月天| 好爽免费视频| 96国产污污污丝袜| 无码99| 麻豆熟妇乱妇熟色A片在线看| 国产美女在线精品免费看| 思思在线免费视频| 男人网站婷婷| 天天摸夜夜添无码小视频| 天天碰操中国年青熟妇| 精品少妇99| 少妇同性| 国产亚洲性生活视频播放| 午夜天天碰综合视频| 国语精品对白| 黄色片大香蕉| 91九色丰满高潮| 看黄片视频免费| 青青青艹在线视频| 五月婷婷丁香六月丁香| 色五月婷婷五月天| 蜜桃成人1区2区3区| 欧美色图成人网一区二区 | 九九九九精| 亚洲少妇色图自慰直播| 天综合网欧美| 国产激情av女片自拍| 成人性交免费视屏| 开心激情婷婷| 免费国产视频| 成人免费在线网站| 超碰97综合网| 精品一区二区啪啪啪| 深夜激情| 欧美成人色| 青青草好吊色| 久久久成人精品| 欧美色视频在线| AV中文字幕三四五| 国产蜜臀精品一区免费尤物| 成人免费视瓶| 97色插| 日本精品中文字幕视频| 国产精品日日摸天天碰| 午夜天天碰综合视频| 精品伊人久久久大香线蕉小说| 欧美日韩国第一区| 人人人摸人人| 97精品97久久| 激情深爱五月天| 亚洲精品国语在线播放| 人妻丝袜肏逼| 五月丁香婷婷综合| 黄在线| 夜夜国自区| 欧美一区二区日韩三区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 国产久久久久影院老熟女| 久久久精久久久| 激情婷婷丁香网| 欧美自拍偷拍免费观看| 99久久99久久免费精品蜜臀| 超碰97欧美在线| 人人 操人人 操人人| 亚洲密乳AV| 俺也射| 中文字幕文字幕无码一区二区三区电影99| 校园春色欧美色图| 打av高清| 青青操97| 九久9热| 少妇被玩视频二三区| 亚洲色图超碰在线| 亚洲性爱高潮影院| 婷婷午夜| 国产原创自拍| 亚洲情色91| 天综合中文| 情侣开房子拍 日韩无码 女的很漂亮| 麻豆人妻精品一区二区| 五月婷婷综合激情| 亚洲va综合va国产va中文| 久久激情视频| 色狠狠色| 久久乐| 精品久久青青草| 天天添天天干电影| 国产精品青青草| 中文字幕艹艹| 少妇被玩视频二三区| 日韩亚洲97| 久99| 岛国网址国产| ,成人免费啪啪视频| 97天天操| 久久加勒比| 啊啊在线| 丝袜天堂网| 九九无码| 97这里只有精品| 欧美久久婷婷| 激情文学 国产一二三aV| 中文字幕亚洲欧美在线不卡| www.91逼逼.com| 盗摄女人妻在线| 在线中文字幕极品av| 在线视频日韩欧美国产| 秋霞曰韩R级| 亚洲av影院在线观看| 干日本人少妇午夜寂寞影院| 91丨人妻丨国产丨丝袜| 熟人人妻少妇精品久久| 中国少妇啪啪视频| 亚洲欧洲无码bt精品合集| 清纯唯美亚洲综合| AV一起草在线| 国产成人手机视频激情| 欧美性爱五月天| 午夜免费视频1000| 青青草视频在线观看一区二区| 久操在97| 国产一区二区在线看| 中欧人妻丝袜中文字幕| 中国农村熟妇毛片视频| 国产一区二区免费福利片| 久久婷婷五月天| 一区=区三区视频| 超碰人妻久久人妻中文97| 97在线观视频免费观看| 超碰久久.com| 婷婷尹人大香蕉免费| 亚洲欧美中文日韩视频中国语| 狼人综合婷婷激情四射| 九九玖玖精品| 四虎永久在线精品免费网址| 中文字幕在线日亚洲9| 欧美强奸乱能| 欧美日韩中文亚洲v在线综合| 91九色精品熟女内射| 九九色综合| 亚洲性综合9| 精品亚洲俞拍视频一区| 性感美女啊啊啊在线| 舔人妻中文免费视频| 麻豆人妻偷人精品无码视频| 伊人久久AV诱惑悠悠| 九九综合九九综合| 日韩精品一区二区日韩| 青青草中文-久久青草精品一区二区三| 女同亚洲欧美一二三区久久电影| 欧美午夜色妇色鬼| 蜜桃臀一区二区aV| 丰满人妻一区二区三区免费 | 亚洲se电影| 97操b| 成人无遮挡毛片免费看| 国产精品视频一区二区三区八戒| 桃色五月天| 东北黄色电影| 超碰社区97| 26uuu久久| A V视频日本| 91婷婷伊人狠人| 9久久美女首页| 超碰97男女| 99国产精品视频尤物| 人妻天堂综合网| 熟女91网| 无码国产精品午夜不卡(| 日韩99神马视频播放| 国产91 丝袜在线播放00-百度| 污污汅18禁网站在线永久免费观看 | ?亚洲伊人伊成久久人综合网| 97干日韩| 丝袜视频网国产90| 熟妇高潮二区三区| 免费?级毛片无码?∨蜜芽试看| 艹我哪美一区无码| 国产深喉| 天天日天天干天天整| 夜夜高潮夜夜爽高清视频一 | 麻豆天美制片厂网站视频| 亚洲精品 欧美精品| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | julia国产在线 | 久久女同性恋一二区| 加勒比海色香蕉婷婷| 日韩av不卡在线观看| 啊啊啊不要啊啊受不了了视频在线 | 精品亚洲国产成人精品| 9/A片| 国产精品一区二区三区在线| 中文字幕 国产 精品| 精品中文一区二区| 中文字幕88av在线| 91综合站| 国产成人bd在线观看| 精品176精品2| 中文字幕精品探花视频| 成人夜夜爽| 高颜值美女口爆高潮浪叫| 亚洲1区2区三区高清中文字幕| 天综合中文| 人人澡人人干| 国产精品成人在线| 美女AV一区二区| 日本黄色精品专区网站| 欧美成va视频网站| 蜜臀久久99'精品久久久| 96一区二区| 亚洲欧洲小说图片视频 | 97在线看| 97精品一二区| 亚欧操逼片在线观看| 成人情色综合网| 国产AV激情无码久久无码| 亚洲成人精品久久久| 欧美性爱18观看| 亚洲一二三精品久久网| 大色综合| 激激五月| 97视频在线看| 亚洲欧美九九| 精品人妻一二三| 久久久影院| 国产午夜精品在线观看| 2001天天操| 熟女少妇视频| 色色99| 久久 精品| 亚洲色图91欧美日韩| 一区二区三区四区理论片| 99无码精品| 欧美天天综合网版| 日韩精品 资源| 中文字幕在线免费观看 | 99丝袜福利在线播放| 男女性感激情网站| 亚洲 欧美综合| 日韩性爱再线视频| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 九九在线精品| av激情亚洲五月天| 狠狠干妹子| 久久九九综合| 在线视频亚洲无码| 啊啊啊不要好疼视频| 999999精品| 在线电影亚洲色图| 亚洲图片欧美91N| 欧美日韩亚洲天堂| 色性欧美| 蜜乳AV免费观看| 亚洲日本成人动漫| 永久电影三级在线观看| 亚av顶级裸体一区二区三区四区五区| 五月婷在线| 国产女同视频在线播放| 极品国产内射| 亚洲色交| 死我十八禁| 久久久久久九九九九-美女久久久久久久-成人AV| 四虎AV在线观看| 色婷婷亚洲婷婷| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 婷婷五月丁香五月| 人人爱人人乐人人操| 第四色色综合91| 天天躁日日躁狠狠躁| 97色色色综合网站| 欧美亚洲| 97欧美色| 久久香蕉国产传媒一区剧情天美| 日本淫乱女一区二区三区视频| 天天爽夜夜欢视| 家庭乱伦性爱av| 欧美天天综合在线| 超碰性爱97| 日本Xx性爱| 久久久夜夜夜| 狠狠色一区二区中文字幕| 亚洲欧洲国产综合av| 丰满人妻一区二区三区四区| 夜夜操av亚洲一区二区| 无码人妻精品一区二区三区99不卡 | 亚洲精品国产专区在线观看| 亚洲色天堂九9| 桃色五月天| 日韩字幕一区| 亚洲激情欧美色图| 亚洲精品一区二区日本| 久久久精品网站| 91精品导航| 91痴汉| 99热婷婷一区二区三| 亚洲蜜臀精品视频久久| 91美女小视频| 色黄污美女啪啪啪免费网站| 精人妻无码一区二区三区伊人直播| 熟女六十路| 熟女探花啪啪| 91精品操美女| 亚洲另类色图片| 国产黄色av大片网站| 中英熟女操女| 日韩欧美天天爽爽爽天天爽爽| 91中文在线| 人人搞人人插人人操| 一区二区三区四区在线不卡| 国色天香av| 亚洲最大的综合性av| 黑人娇小av在线播放| 九九人妻| 欧洲射精91| 亚洲码专区| 午夜.DJ高清在线观看免费7| 国产91专区| 超碰性爱97| 激情五月婷婷| 成人小说视频在线精品欧美| 欧美日韩欧美| 国产日韩欧美| 日韩精品三区四区| 久久亚洲国产成人| 亚洲黄a三级三级三级看三级| 久久久A∨| 超碰 另类 欧美 | 三级网站超变态精品| 欧洲精品欧洲精品| 99re在线视频国产| 午夜男人一级A片7777| 国产精品露脸在线观看| 亚洲欧美97| 在线观看视频91| 青青草中文-久久青草精品一区二区三 | 亚洲精品视频在线播放| 狼狼色丁香久久婷婷综合五月| 日本二三四区| 青操影院| 蜜臀久久99精品| 国产乱码久久| julia国产在线 | 黄页| 国产99精品一区二区三区免费| 一本道综合色图| 福利天堂| 欧美AB在线| 六月婷婷综合| 殴美在线AⅤ| 2017av无码免费无线播| 麻豆一区二区AV天美| 国产精品熟妇一区二区三| 夜夜肏2021| 超碰一区二区| 在线观看无码三级少妇| 玖玖视频在线资源一区二区三区| 色天欧美| 视频一区二区三区精品| 婷婷导航| 久久精品操| 先锋色眉乱伦资源| 情色五月天久久久| 国产精品福利视频| 免费中文在线| 久久超碰免费的| 色爽——AV| 亚洲男人电影天堂| 凹凸视频在线一区二区| 99啪啪| 26UUU欧美日本| 免费观看网黄| 台湾佬大香蕉| 97精品全部| 精品成人久久久人人亚洲| 蜜桃狠狠色伊人亚洲综合 | 一区AV| 青青草伊人久久| av毛片aaaaa免费看| 欧美黄页在线| 亚洲一曲日韩精品| 国产极品999| 久久狠狠色噜噜狠狠狠狠97| 国产第二页| 99久久99久久综合| 亚洲图片偷拍视频区| 一类无码操逼视频| 无码高清国产AV| 国产日韩欧美操逼视频| 国产又黄又爽又刺激久久久久久| 日韩欧美操逼xxx| 2024年最新色情网站在线观看| 日本一级真人黄色性爱视频| 91久| 婷婷色香伊人| 欧美天天综合| 日本淫乱女一区二区三区视频| 久久久久久性爱免费视频| 国产一区二区在线播放| 久久大黄片| 97精品一区二区视频| 国产福利电影| 2017人人操,人人摸| 日本东京热加勒比久久| 一区二区视频在线播放| 欧美一级A片在线看视频性色| A 天堂在线观看视频| 偷窥自拍亚洲天堂网爆| www.夜夜操| 男人的天堂亚洲| 操我啊啊啊啊啊| 日韩激情视频| 国产九九九九九九| 一区二区三区一亚洲中文字幕、综合区灬| 欧美激情精品久久久久久| 96一区二区| 国产精品白领在线观看| 午夜亚洲国产理论秋霞| 久久精品中文字幕无码l| 欧美一级黄片免费播放| 夜夜爽爽爽| 在线 亚洲 网爆 自拍| 狼人综合婷婷激情四射| 大香蕉伊利av| 精品九九九九九九九| 91欧美少妇| 尹人大香蕉视频在线| 午夜.DJ高清在线观看免费7| 人妻少妇无码| 韩国女主播青草在线| 色色色99| 一道α片欧美| 熟人人妻少妇精品久久| 狼人综合婷婷激情四射 | 成人在线视频二区| 无遮挡男女激烈动态图| 丰满少妇人妻久久久久久| 狼狼色丁香久久婷婷综合五月| 亚洲性少妇| 久久久久久亚洲精品中文字幕人妻| 操美女高潮抽搐白浆| av资源在线播放天堂| 成全在线观看免费观看| 立川理惠无码一区二区| 亚洲少妇色| 久久久久久久久久久久黄色 | 久草精品热视| 草草网站影院白丝内射| 中文字幕第9页萱萱影音先锋| 成年人免费观看网站| 欧美天天综| 一级黄色影片| 加勒比久久综合网高清| 国产精品一区二区手机看片| 啊啊啊男女| 日韩三四五区| 色婷婷久久综合超碰| 亚洲欧美国产va在线| 男女国产精品| 精品午夜福利国产一区二区在线观看| 久久激情综合| 亚洲天堂自拍| 四虎影视国产精品| 日本高清免费一本视频在线观看| 欧美精品1区2区3区| 四虎影视在线| 超碰97在线中文| 囯产精品久久久久久久久久二区三区| 欧美一级美片在线观看免费| 国产亚洲在线| 性色av一区二区| 亚洲色人阁| 一区二区三区成人高清视频| 亚洲av夫妻操穴网| 四虎视频在线观看| 91黄站| 萌白酱自拍视频| 中文字幕二区日韩天堂| 高清不卡 中文 人妻| 日韩亚洲欧美中文字幕| 激情干在线| 国产精品午夜成人福利| 九九热精品视频六| 涩涩这里只有精品视频| 亚洲制服欧美另类内射| 爽爽爽免费视频| 欧美一级二级三级| 殴美在线AⅤ| yazhousetuoumei| 亚洲天天做日日做天天谢日日 | 丁香五月天啪啪| 日本狠狠干| 中日韩久久人妻一区二区| 欧美乱妇狂野欧美在线视频| 欧美日韩97在线| 777超碰| 粉嫩粉嫩一区性色AV片| 性色av婷婷久久一区二区点复制| 久久精品一区二区三区不卡| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 午夜福利1区2区3区| 狠狠色狠狠色狠狠五月| 亚洲国男人的天堂| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 98福利在线视频| 精品人妻一区二区三区日产| 国语国产操逼伊人AV网| 五月婷婷丁香六月| 国产女人9999| 国产精品com| 九月丁香婷婷色| 日韩在线女优天天干| 成人网欧美风情| 丝袜AV一区二区三区| 小日子操bb在线看| 精品久久久久久亚洲| 国产亚洲精品美女| 日韩成人高清一区二区| 欧美黄片欧美黄片xxx| 欧美美女在线高潮999| 97伊人| 天天综合~91| 蜜乳AV一区二区三区四| 97中文超碰| 亚洲文学偷乱拍啪啪啪啪 | 色色色综合| 亚洲在钱| 国产三级中文有码在线视频| 亚洲色性情三级| 97综合网| 久久精品人体AV| 国产超碰97| 日本三级韩三级99久久| 少妇丝袜在线观看AV| 日韩免费在线视频观看| 精品视频97| 国产亚洲深夜激情| 无码人妻一区二区一牛影视| 日韩综合97p| 色色婷婷五月天| 97精选久久| 国产99久久99热这里只有精品15| 久久九精品| 精品无码久久久久久久杏吧| 亚洲色欲一区二区三区| 香蕉视频欧美一卡二卡| 射 色综合| 精品视频一区二区| 超碰色中文| 天天色黄色影院天天操| 日本东京热大香蕉a片| 人妻一区视频| 97国产精品久久久久| 十八禁视频网站| 亚洲骚逼少妇| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 久久精品一区| 91av一区二区在线观看| 91综合国产精品| 无码免费精品高清| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 久久久久久亚洲精品不卡人乳| 无码人妻精品酒店| 精品乱子一区二区三区99| 吖在线不卡一区二区国产剧情| 97欧美色综合| 999久久久精品国产| 久久久精品中文字幕爱豆| 色五月激情AV在线| 人人操av| 日韩免费在线视频观看| 亚洲97在线观看| 丁香五月综合| 超碰人妻久久| 亚洲 欧美 另类 日韩 人妻一区| 欧美性巨大╳╳╳╳╳高跟鞋| 欧美另类天堂| 嫩草 人人网精品| 天天做日日爱夜夜爽| 国产中文字幕在线观看| 91色噜噜狠狠| 99久re热视频精品98| 狠狠操狠狠操操| 一本大道久| av东京热男人的天堂| 色99视频| 欧美成人一级免费电影| 激情综合网亚洲| 91在线一起| 天天干人妻| 亚洲不卡不卡中文字幕不卡 | 嗯~啊~快点 死我视频| 色综合色欲色综合色综合色综合| 91视频伊人| 日本久久超碰| 日韩精彩视频| 东京热精品97综合网| 97超碰美国| 亚洲AV成人在线| 日韩欧美国产高清视频| 欧美亚洲第一页| 欧美啪啪色吧在线| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 久久久精品国产亚洲伊人| 国产亚洲色婷婷久久99精品91葵花宝典 | 91女在线观看| 色婷婷狠狠| 色情综合| 久精品无码av一区二免费国产在线观看| 亚洲密乳AV| 国产高清成人免费视频| 欧美宗合色| 91色插| 欧美激情区| 大粗鳼巴久久久久| 亚洲综合射| 爱丝福利| 亚洲少妇激情一区二区三区| 99热18这里只有精品| 天美传媒av一区二区| 中文字幕第23区| yy少妇精品久久|