亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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
返回資訊列表
国产欧美黑人丰满在线| 亚洲男人天堂手机版| 亚州男人天堂| 亚州操操穴网| 多毛小伙内射老太婆| 欧美激情久操网| 无码伊人久久大杳蕉中文无码| 亚洲AV乱码专区国产噜噜亚洲 | 啊啊啊啊啊在线| www久| 日韩二区三四区五区六区在线看| 岛国视频一二三区| 淫乱图区| 91久久久亚洲| 97精品久久久久久久| 大香蕉日韩| 精品少妇一区二区三区在线视频| 快灬快灬 一下爽蜜桃在线观看 | 日本人体九九九九九九| 在现视频女上位好爽| 爆操无码| 婷婷五月激情综合| 日韩欧美蜜桃精品久久中文字幕久久| 亚洲综合在线91| 熟女六十路| 老熟女天天操| 欧美亚男人的天堂| 啪啪自拍九九综合| 中文字幕一区日韩精| 亚洲AV不卡在线观看| 国产伦乱91| 日本亚欧爱爱| 富二代亚洲精品99| 91大学精品激情戏| 日韩亚洲精品一区二区| 成人av免费观看| 日本淫乱女一区二区三区视频| 天天干,天天日| 日韩特级毛片免费观看全集| 男人天堂免费| 99抽插| 狠狠色色| 韩日无码在线观看| 另类亚洲一区二区三区| 丰满人妻一区二区三区色-百度| 一区二区三区机械有限公司| 2017人人操,人人摸| 久操在97| 丝袜制服字幕在线| AV九九| 萌白酱自拍视频| 欧美91在线| 久久骚| 亚洲三级网址久久最新| 狠狠狠狠狠干| 亚洲综合小说另类图欧美视频激情小说色五月天| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 夜夜嗨一区| 九九九九九九九九九五码| 久久香蕉国产传媒一区剧情天美| 丁香五月AV| 蜜桃无码AV一区二区| 久久无码电影| 国产三级多多影院2022国产AA一级毛片无码 | 9I1性色影院| 欧洲亚洲人人爽爽视频| 青青草男人天堂| 青娱乐大香蕉| www.男人天堂| 91精品91久久久久77777| 2017大香蕉国产精品久久| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 九九热免费视频| 一级久久久久久久久久久| 精品九九国产无码| 国产综合网站在线播放 | 久久亚洲熟妇在线视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美日韩亚洲少妇寂寞影院正在播放| 久久人妻无码毛片A片麻豆| 欧美色综合图片| 制服丝袜第二页| 在线啊啊啊| 哈哈操电影| 屁股久久久久久久| 99久久久er直播网址| 九九黄色视频在线观看| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 2024黄色视频| 可以在线观看AV的网站| 99色悠悠| 国产av白丝| 国产夫妻一区二区| 精品超碰中文在线| 蜜臀99久久精品| 狠狠穞A片一區二區三區| 夜夜躁狠狠躁日日躁av| 精品99999久久久久久| 熟妇xxxxx性春色| 韩国嫰模上门援交视频| 天美传媒av 在线| 久综合网| 超碰97综合| 日韩精品资源| 91亚洲人电影| 久久 亚洲 日韩 人妻| 97AV爱| 老熟妇乱轮| 久插综合| 麻豆国产尤物AV| 欧美一级AAAAAAA| 91bbb| 少妇无码av专区线| 黄色一级视| 美女自卫慰黄网站免费| 久久久免费高清中文视频| 一个人免费HD91视频| 日韩欧美蜜桃精品久久中文字幕久久 | 啊啊啊久久久视频| 爱做久久久久久| 国产吹潮女在线观看| 国产无套粉嫩白浆在| 日本不卡一二区| 北京专精特新企业招聘信息| 国语对白露脸XXXXXX| 加勒比海成人视频网| 亚洲砖码砖专无区2023| 伊人国产成人av网站| 精品一区二区麻豆| 日本在线激情一区二区三区| 搡老熟女免费视频 | 亚洲色图加勒比| 亚洲少妇综合在线播放| 亚洲激情片| 国产精品久久久九九九| 操人妻丝袜高跟| 黄色免费网页无码| 精品国产Av无码久久久亚洲| 久久久啊啊啊| 超碰97久久国| 久久999久| 玖玖在线视频| 日韩欧美一级特黄大片| 在线免费观看高清无码视频| 激情婷婷黑人91| 目产99999久久999| 丝袜熟女2P| 日韩中文字幕视频在线观看| 黑人狂躁日本妞一区二区三区| 高清肉丝中文无码| 18岁禁 茉莉成人久久| 五月香婷婷| 中国女人内射6XXXXX| 少妇被c 黄 免费观看| 亚洲少妇激情视频| 佐山爱中文字幕| 天天综合日韩网| 天天色播| 骚逼高潮久久精品| 无码色| 久热9| 国产无码一二三区| 久草免费福利在线播放| 免费看黄片现成| 欧美精品成人一区二区在线观看| 少妇一区二区三区| 大象AV在线| 欧美黑人与女人91| 亚洲超碰97| 精品对白久久不卡| 免费精品国偷自产在线在线 | 欧美亚洲高清不卡| 99蜜月精品久久| 青青草十区九区爱夜| 动漫区日韩区欧美区| 天美欧美国产| 精品久久久久成人码免| 久久这里只精品免费福利| 色五月婷婷中文字幕| 少妇精品久久久| 欧美成人免费在线观看| 五月天婷婷基地| 色九九九九| 97超碰人人操人人操| aⅴ日韩成人电影av在线免费看av大全| 亚洲男人天堂网久久| 欧美日韩另类激情图片| 国产热RE99久久6国产精品首| 久久视频,这里只有精品| 18禁无码永久免费无限制| 日本美女性生活久久久久久久| 天天久久久久久| 欧美日韩色综合网| 亚洲熟妇图片| 大香蕉一级黄色片久久| 欧美精品人妻视频| 青娱乐妇女性生活| 亚洲欧美精品一区天堂久久| 四虎影视欧美| 女色视频社区| 一区二区乱码福利| 人人操天天爽| 伊人青青一区成人视频在线观看区| 歐美性天天| 色网1| 久久久国产精品亚洲精品| 美女黑人91神马| 欧美视频一区二区三区| 91伊人| 麻豆三极片| 一级人妻性爱视频| 亚洲资源站| 97超碰色色| 色欲久久99国产精品久久久久久| 2024黄色视频| 午夜男女爽爽爽影院视频| 神马久久久久久| 人人摸人人添人人操| 伊人久久大香线综合无码| 欧美亚洲激情| 丁香六月婷婷综合| 四虎影视国产精品| 中文字幕精品资源在线| 日本999精品| 久草精品一区 | 人妻少妇久久久| 九九九九精| 国产原创自拍| 国产午夜福利专区综合| 青青草啪啪网| 亚洲毛片一级带毛片基地| 日本顶级天天操狠狠操夜夜操中文字幕| 久久精品久久九九精品| 天天摸天天舔天天操| 人人爱人人操人人性| 久久 久久国内精品亚洲| 精品人妻1区| 极品内射| 国产无套粉嫩白浆在| av天堂加勒比| 亚州男人的天堂| 亚洲AV免费在线观看| 手机看av网站在线看| 后入式福利| 久久精品99| 国产又粗又大硬免费色网视频| 97硬碰| 丁香九月激情啪| 日韩兔费看黄片| 亚洲色图 图片| 操逼逼一区视频| 色香91| 强奸a片网| 17c嫩草51久久91嫩草| 亚洲情色一区综合| 五月天丁香婷婷综合网站| 人人摸人人舔一区二区| 亚洲 日韩 欧美 国产综合体| 欧美亚洲今日在线| 国产精品人妻免费精品| 欧美操逼录像国产黄色国产| 毛片中心9视频99| 日本熟妇人妻一区二区三区| 一区二区影院| 亚洲一区在线观看欧洲| 日本一二区不卡| 国产免费内射视频| 97干在线视频| 97日韩超碰超碰中文字幕| 噜噜瑟| 97超碰69| 呦呦一区| 深喉吞精| 精品人妻一区春色| 四虎免费视频| 精品无码一区二区| 夜夜免费视频| 亚洲中文字幕精品一区| 玖玖爱免费观看视频| 日日日日日| 激情欧美日韩女同久久| 亚洲黄色AV电影| 久久精品国产99精品亚洲蜜... | 高潮内射在线| 欧美91久久久久| 91 欧美| www.大香| 日韩99神马视频播放| 97操碰| 亚洲欧美色图小说| 无码自拍SM| 欧美色997| 日韩97在线| 伊人影院综合是一个与深夜成人在线| 五月天色图| 久久精品国产精品| 亚洲一卡二卡在线免费| 久久精品欧美一区蜜桃| 麻豆精品三区视频| 综合伊人网12色| 天天天天操| 欧美青青草视频| 超碰97护士| 欧美十八禁导航成人| 亚洲欧美精品一区天堂久久| 婷婷色网| 九九热三级片| 婷婷五月色| 啊啊啊在线看| 人人看人人爰人人操| 中文啪啪视频| 欧美美逼| 日人妻视频91| 亚洲综合大片| 国产精品网址| 午夜啊啊啊| 婷婷午夜清品久久久久久久性色视频观| 国产熟女完整版中字| 操美女人妻| 亚洲久久久久| 亚洲欧洲小说图片视频 | 大香蕉伊人色偷偷在线| 麻豆人妻偷人精品无码视频| 亚洲1区2区三区高清中文字幕| 精品伊人久久久大香线蕉小说| 国产精品视频在线播放 | 超碰导航97| 加勒比伊人| 1禁看欧美黄片免费看| 人妻在线臀日韩| 蜜臀99久久精品| 中文字幕一区电影在线观看| 九九色色| 欧美日韩97在线| 欧美啪啪天堂| 夜夜中出国产| 无码在线亚洲| 男女91| 国产精品久久伊人| 亚洲AV色图一区| 欧美人人操人人插| 人妻酒店出差被中出免费在线播放| 精品无码一区二区三区色欲| 澳门成人网站久国产日韩| 亚洲色91| 麻豆久久久久久久久丝袜 | avav青青草久久夜| 精品久久久亚洲AV成人网站| 亚州春色| 熟女人妻一区二区三区| 美女91网址| 色五月激情网| 在线日韩精品一区二区三区| 97超碰热线| 国产精品盗摄 偷窥盗摄| 91蜜臀在线久久久久| 欧美激情一区| 欲香欲色天天天综合和网| 欧美爱爱97| 亚洲精品男人的天堂| 少妇久久久久| 97超久碰| 90后性网国产欧美| 在线日韩精品一区二区三区| 啊啊啊在线观看免费视频| 午夜无遮挡男女啪啪视频| 九九自拍伦理| 精品国产精品一区二区| 亚洲天堂男人天堂| 东京热男人的天堂网| 色97欧美| 亚洲色图20p| 天堂俺去俺来也www久久婷婷| 人妻酒店出差被中出免费在线播放| 精品视频免费在线一区| 久久久久成人网| 97五月天| 中文字幕精品探花视频| 激情终合网| 欧美午夜一区二区三区| 亚洲天天更新| 欧美视频激情久久久久久| 亚州一区二区成人片免费| www久久精品| 久无码| 一二三四视频中文字幕在线看| 2019亚洲男人天堂| 99精品网| 91青青草| 青青草无码视频| 五月天开心网| 富女玩鸭子一级毛片| 9ⅰ久久久天天| 国产精品久久发布| 日本超碰在线国产一区| 欧美十八禁网站| 国产精品黑人一区二区三区| 超碰在线免费一区二区三区| 九九热超碰97亚洲最新香蕉| 最新精品久久蜜桃 | 91精品久久久久久综合五月天| 日欧美色| 女人爽到高潮潮喷18禁网站| 熟女探花啪啪| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 少妇色综合| 东京热激情视频一二三区| 老外又粗又长一晚做五次| 屌妞视频久久久久久久| 99性视频| 欧美精品99久久久**| 日本道人妻久久久在线不卡色视频| 婷婷三区| 逼逼逼逼操操操操操操操操操午夜剧场 | 青椒国产97在线熟女| 亚洲熟女少妇免费视频| 日韩在线视频1234| 女人高潮抽搐喷水视频网站| 欧美一级美片在线观看免费| 亚洲熟女综合网| 亚洲欧美综合网站| 欧美在线55555| 志村玲子视频一区二区| 性爱Av免费| 91亚州| 后入式999| 熟女中出视频| 亚洲熟女国产综合另类| 97色色网| 天天插天天操| 亚洲成a人片在线观看中文!!!| 91色色网站| 日韩三级av片| 国产精品天干天干综合网麻豆| 色女女女导航| 狠狠狠狠狠狠| 国产大学生高潮在线播放| 草草影院日本第一页| 亚洲黄色AV电影| 亚洲综合69| 长长久久88视频| 玖玖玖玖精品国产剧情| 日韩欧美操逼xxx| 综合网亚洲| 60秒免费小视频| 婷婷中文字幕| 女人爽到高潮潮喷18禁网站| 人妻乱仑一区二区三区| 在线视频免费播放一区| 大香蕉专区| 国产操逼视频在线观看| 日婷婷| 免费视频在线一区二区不卡| 中文字幕一二三| 久久久久白虎| 亚洲欧美清纯| 熟妇色99| 91成人无码| 超碰97导航| 久久原创中文| 亚洲中文字幕一区| 33044男人的天堂深夜备| 蜜桃成人1区2区3区| 91九色蝌蚪在线观看| 久热精品在线国产| 国产精品爽爽v| 色色色欧美| 国产一区二区免费福利片| 中国AAAAAA黄色片| 国产对白刺激视频| 最新岛国大片| 午夜无码精品免费看性色| 日韩欧美一级特黄大片| www.色综合| 婷婷久草| 久久久久精| 日本中文字幕高跟| 17c嫩草51久久91嫩草| 欧美亚洲中文字幕| 精品中文日韩字幕视频| 日本大香蕉综合网红本杳社区| 一级黄色视频网| 日韩人体偷拍| 日韩精品人妻中文字有码在线| 蜜桃臀AV在线| 欧美福利视频啊啊啊啊| 伊人五月天| 99精品在线观看| 亚洲最新Av| .精品人妻一区二区三| 后入福利| www.成人无码| 亚洲丝袜诱惑| 人妻激情视频| 思思热久久成人| 人妻久热在线| 欧美在线啊啊| 视频二区美腿丝袜制服人妻欧美| 九九九九免费高| 色天使AV天堂| 日本一级二级三级网站| 午夜欧美J进J出白浆流出久久久| 成人资源中文字幕在线观看天天| 国产精品无套内谢| 亚洲欧美国产日本一区二区三区| 私色综合网| 78久久久| 啊啊啊好大好湿| 一区e区三| 97精品视频| 国产精品久久久无码aV去| AV网站高清无码在线观看| 无色无码| 91啪9色| 久久综合久色欧美综合狠狠| 怡红院成人视频| 人人干黄色| 免费一级视频特黄色大片| 欧美老熟另类| 天天色怡春院| 色欧美亚洲| 欧美日韩激情无码专区| www.99在线| 日本亚洲vr欧美不卡高清专区| 999 久久久| 草草草草视频| 口爆吞精在线观看| 香蕉99秘 精品一区丁香| 99re99视频在线免费观看| 老司机香蕉久久久久| 中文字幕av亚洲精品| 九九探花视频在线观看| 日本伦理一区二区| 夜夜国自区| 精品无码一区二区三区色欲| 99久久久er直播网址| 超碰97精品在线| 97欧美久久久久久久| 熟妇视频一区二区三区在线| 日美免费黄片| 日韩精品高清资源在线| 久久久少妇诱惑精品视频| 国产成人在线观看网址| 日韩美女操b| 丝袜美腿诱惑亚洲欧美视频在线观看 | 熟妇xxxxx性春色| 久久一二三级一一一| 伊人久久大香线蕉无码| 另类图片天天影视| julia在线观看久久| 欧美不卡在线一区二区| 亚洲综合贴图91 | 大香蕉国产中文自拍| 国产91 丝袜在线播放00-百度| 青草综合| 久久双插| 丁香五月激情网| 欧美精品久久| 国产精品免费久久久久久久久久| 91久热| 色老牛| 亚洲欧洲av影音| 猛交交| 蜜臀99久久精品久久久久久| 精品久久久久久中文| 嫩草伊人久久精品| 视频一区二区免费在线| 久久五月份| 97久操| Blackedraw视频一区二区| 嫩草 人人网精品| 秋霞怕怕片| 亚洲无套久久嗯嗯| 9丨久久九九九| 超碰人妻在线| 99re热| 色狠狠 - 百度| 你操综合| 亚洲精品久久久久毛片A片拉屎 | 久久天天躁日日躁狠狠躁| 夜夜爽夜夜操| 久久久久久亚洲精品不卡人乳 | 久久69| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 和协影院中文字幕三区| 亚洲一区操| 亚洲色图91欧美日韩| 男人的天堂com| 91精品黄在线观看| 国产精品另类一区大香蕉| 破苞ⅩXXX性无码动漫无码| 亚洲男人天堂2| 国产一级做a爰大片免费久久| 风月影院男女十八禁| 欧美日韩国产高清在线一二三区| 久久综合久色欧美综合狠狠 | 国产精品色色| 日韩无码一区二区三区| 五月天丁香欧洲日韩| 丁香七月婷婷| 中文97国产| 免费观看国产小粉嫩喷水精品午| 色www精品视频在线观看| 超97在线精品视频| 婷婷探花久久精品一区| 欧美在线观看综合国产| 国产9熟妇视频网站| 26uuu欧美| 亲子敌伦对白在线播放| 亚洲天堂自拍| 日人妻视频91| 青青草色AV| 亚洲无套久久嗯嗯| 影音先锋日本乱伦| 九九九精品色乱九九九| 日欧操屄视频| 丁香九月婷婷| 激情婷婷五月天| 国产强奸无码乱伦| 啊啊啊好大好湿| 日本免费人成视频播放120秒| 亚洲熟妇综合久久久久久| 99热最新| 亚洲中文字幕熟女| 男人把坤坤插入女人的下体| 福利视频一区二区微拍| www.acm成人黄色毛片| 99综合网| 成人小说视频在线精品欧美| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 天天激情综合站| 大香蕉日亚洲日本亚大 | 色色五月天婷婷| 欧美亚洲自拍另类人妻| 东北操逼| 欧美熟女操屄| 中文一区二区三区影院| 久久久99999久网站| 大香蕉五月天婷婷| 日本韩高清无砖码22o| 欧美乱妇狂野欧美在线视频| 99热综合| 日本性爰一道本| 中国少妇啪啪视频| 99国产在线绯色一区| 日本性爱少妇| 91欧洲国产成人久久精品网站| 又摸又舔在线观看网站| 超碰在线人妻| 亚欧免费| 国语少妇精| 人妻少妇色综合| 婷婷五月天激情网| 国产精品久久久久久久AV大片 | 久操电影网| 六月激情婷婷| 国产老女人久久毛| 好舒服视频| 超碰公开久久网| 成年人性爱日韩| 免费精品国偷自产在线在线| 91精品国久久久久久无码| 性欧美另类高清| 少妇蹲下买菜露大唇0| 香蕉婷婷| av2014 日韩在线中文字幕| 亚洲精品国产无码高清| 东北女人| 五十路六十路七十路熟婆| 夜夜嗨一区二区| 国产午夜福利合集| 嗯嗯不要视频| 九九九久| 国产男女边吃边摸视频网站| 国产超碰国产97| 97这里有精品| 亚洲污污网站| 动漫片子网站3黄| 六月激情婷婷| 国产精品999zyz| jizz啪啪| 校园春色美腿丝袜| 亚洲青青草| 久久久久久中文版| 国产精品青青草| h色99999| 亚洲18禁| 丁香五月激情综合| 欧美日韩电影成人在线| 久热最新在线杭州| 中国小夫妻勾搭露脸淫荡对白| 九九久久99| 国产精品自在线发布| 亚洲天天做日日做天天谢日日| 国产久久天堂资源| julia中文字幕在线观看| 偷窥自拍亚洲天堂网爆| 最新中文字幕在线亚洲| 一级aaaaa欧美中文字幕录像片| 欧美性生活男人的天堂| 操逼操2| 色噜噜国产精品视频一区二区| 精品超碰色| 金典av| 五十路熟女工口| 吉田爱美AV在线| 久久超碰久| 国产福利精品最新在线| www.av在线观看| 日韩AV无码中文一区二区| 日韩欧美成人性爱在线| 中文字幕一区二区日韩网| 一级AV性爱| 岛国1区2区3区在线观看| 中国熟女老妇仑乱一区二区三区| 蜜臀久久99精品久久久久久-DVD原版全| 香蕉99秘 一区精品蜜桃臀| 精精品人妻一区二区三区| 亚洲色图日韩丝袜制服一区二区五月在线| 夜夜操夜夜高潮夜夜爽国产精品区| 爱妻综合网| 91精品久久久久久久久久| 啊啊啊啊啊啊啊啊要喷了| 九九九热精品| 中文字幕一区二区三区蜜桃视频| 青青草国产一区二区三区| 国产熟女高潮一区二区三区| 999九九九九国产动| 尤物视频新赏网鲜网色诱网| 亚洲中文字幕av | 久久 国产精品 一区| 日本在线激情一区二区三区| 精品少妇一区二区三区在线视频| 97在线精品| 久久国产视频性吧 | 青青草黑寡妇男人天堂| 99RE在线视频精品,这里只有精品| 午夜福利在线视频1000| 爱妻综合网| 黄久久| 欧美性夜| 国产精品白领在线观看| 亚洲无码成人精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 91劲爆| 久九九九九九九九热| 欧洲亚洲少妇| 国产午夜福利电影免费在线观看 | 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 国产精品。| 久久久久久91香蕉国产| 欧洲精品一二三在线| 亚洲有薄码区久久在线一区| 97天天| 亚洲欧洲自拍图片专区满春格| 亚洲蜜乳av| 婷婷天堂站| 日韩欧美视频青青| 青青草在线成人视频| 91人妻视频在线| 天天看片麻豆| 97久久国产亚洲精品超碰热| 久久久久久久久女黄| 91中文字幕| 少妇人妻好深太紧了vr91| www…国产操逼| 欧美综合骚| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 加勒比久久av| 蜜臀99久久| 乱欲一区二区| 91 手机在线播放 绯色| 人人噜夜夜操| 男人的天堂1024| .精品人妻一区二区三| 8050无码八戒| 免费的av网| 亚洲欧洲激情| 私人尤物在线精品不卡| 亚洲成?V人片在线观看福利| 黑操B| 欧美亚洲成人在线一区二区三区| 综合色欧美| 亚瑟国产精品久久无码| 色婷婷综合网| 亚洲区限制级| 综合网 欧美| 无码黑人精品一区二区三区三| 日韩三级一区 | 亚洲欧美碰碰| 双插性欧美一二三区| 久久麻豆一区二区| 熟妇激情| 1769一区| 国产日比| 蜜桃一区二区三区| 97爱| 午夜男人一级A片7777| 久偷拍| 国产一线二线三线av| 韩国一级婬片A片无码天美| 天天射影院| 亚洲天堂资源| 亚洲一区操| 色色色综合| 麻豆区久久久久亚| 八戒无码国产午夜福利| 欧美亚洲玖玖玖| 麻豆区久久久久亚| 蜜乳AV.COM| 久久99国产综合精品女同| 久久婷婷一区| 美女写真| 国产肏屁眼视频| 91亚洲欧美| 丁香五月性| 久久久精品视频欧州站| 精品国产91av一区二区三区| 富二代亚洲精品99| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 欧亚第一综合网| 老熟女网站| 香蕉婷婷| 精品白丝一区| 国产自产一区视频在线| 欧美熟女妇同| 中文字幕天堂在线| 久久国产99精品72福利| 日骚逼视频| 99在线观看| 国产精品对白自产拍| 三级网色| 狠狠做深爱婷婷久久二区| 久久精品福利影院| 91久久久久久久久久久| 久久久久久久久久9| 在线强奷到舒服的无码视频| 青娱乐手机日韩在线视频| 人妻二区| 欧美一区二区日韩传媒搭讪精品| 97aiaiai| 麻豆2区1区天美| 亚洲 在线| 久热免费视频| 人妻天堂三区| 亚洲男人天堂Av| 久久久九九| 国产综合日韩伦理| 久久久久骚| 超碰78| 在现视频女上位好爽| 激情文学88| 日本 情色 1区2区3区| 99热思思| 八戒午夜福利理论片| 日本精品九九九| 五月综合久久| 狠狠色伊人亚洲综合网站色| 欧美日日夜夜| 久久久久久日韩| 久操视频这里只有精品| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 性爱久久| 亚洲欧美碰碰| 五月天婷婷色| 亚洲男人天堂av| 欧美日韩国产中文精品字幕自在自线, | 91爱综合| 天天看天天日天天操| 中文字幕精品丝袜| 国产高清午夜成人在线观看| 女人一区| 自拍视频一区在线观看| 欧美激情黑人| 综合色色网| 中文字幕三四五区| 九九久久一区二区三区| 级做a爱无码性色永久免费| 亚州色图欧美| 久久一级无码精品毛片6| 午夜操一视频一区| 4399成人黄A片| 国产精品伦理| 骚乳在线| 久久久亚洲高清不打码| 久久久三区二区一区| 九九色综合| 精品久久久av无码免费| 91性感网站| 免費黃色視頻觀看一| 亚州欧美色图| 歐美性天天| 九九色图| 国产精品人妻无码久久久老鸭窝| 日韩精品高清资源在线| 日韩免费大片一级播放| 久肏视频字幕| 老女人爆菊| 亚洲图片婷婷五月天| 人伦四五区| 天天综合精品| 国产熟女完整版中字| 国产区在线| 欧美综合色站| 美女被艹尤物视频| 超碰美国| 媚薬在线视频麻豆| 亚洲AV免费在线| 欧美福利视频啊啊啊啊| 九九九九免费视频| 精品久久視頻在线| 亚洲天堂一区二区久久| 欧美色图欧美| 丁香婷婷激情五月天无毒不卡| 亚洲国产一区二区三区四区国产| 色欧美综合| 一级黄碟在线看| 综合色99| 国产一区自拍欧美日韩| 男人的天堂日韩| ′ !γ}丶。。久久精品欧美一区二区三区| 国产成人99久久亚洲综合| 9久9久9久9久视频网站| 欧美午夜色妇色鬼| av片在线观看免费播放| 日本人妻伦在线中文字幕| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 大香蕉中文| 91综合国产精品| 99无码| 国产亚洲日韩在线三区黑人| 五月天亚洲色图| 午夜久久久| 97超碰天天| 大香蕉啪啪啪| 99热99在线播放激情| 三四中文字幕| 欲色啪| 麻豆AV96熟妇人妻| 亚洲性爱高潮影院| 中文字幕亚韩| 午夜视频久久久久一区| 久热最新在线杭州| 久热99999| 精品熟女一区=区三区| 中字乱伦AV| 久操网视频| 精品午夜福利| 久久成人精品| 久久婷婷欧美| 日韩AV一区二区三区三州三州| 激情综合色| 青娱乐久久艹| 国产精品一区av在线| 亚洲天堂男人天堂网| 老鸭窝成人| 久久久久久久久久精| 国产久久久9999| 五月天精品| 青青操轻轻| www.91逼逼.com| 夜夜操美女| 秋霞 色色| 色综合91好| 国产精品一级二级在线| 狠狠图片青青草| 国产精品熟女AV中文字幕在线播放| 九九亚洲| 亚洲最大的综合性av| 密乳AV免费观看| 91精品微拍福利| 日本女人久久久| 亚洲中文sv| 精品二区三四区五电影| 青青三级视频| 欧美亚洲高清不卡| 精品福利视频| 久妇网| 屌色在线97视频| 五月婷婷基地| 欧美顶级黄片AAAAA在线免费看| 干日本人少妇午夜寂寞影院| 久久综合国产精品国产| 最近2018中文字幕在线高清第一页| 操熟女91| 91熟女网| 久久αⅴ| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 人妻中文字幕日韩电影| 天天艹天天日| www.av在线视频| 日本欧美中文字幕| 中韩中文字幕在线观看| 国产97/欧美| 亚州黄站| 成人青青草原伊人| 精品人妻一区二区三区四区| 超碰色大香蕉| 在线电影亚洲色图| 日本精品加勒比海一区| 欧美综合自拍亚洲综合图| 大白逼三四级| 日本2020一区二区| 国语精品av| 精品久久久久综合无码| se..亚洲欧美| 日韩欧美性爱电影在线观看| 亚洲国产成人精品女人久久久| 亚洲色图一区二区三区| 久久久97| 天天干天天舔| 99久久久无码精品国产人| 精品人体无圣光凹凸| 国产亲戚伦亲在线| 国产欧美日韩在线不卡第一页| 99re久久| 欧美熟女少妇| 精品国产污一区二区三区| 久久亚洲不卡一区二区三区| 国产地址二三| 中文字幕超碰CAO| 十八禁电影伊人网| 97久操| 欧美激情综合| 国内偷自视频区视频综合| 嫩草一区二区在线观看| 国产又爽又黄| 精品久久青青草| 久久綜合很很很| 蜜桃视频一区二区三区| 欧美久久人妻少妇一区二区| 综合情欲网| 久久系列| 一个色导综合| 91丨熟女丨丰满熟女| 婷色五月| 国产久久一区二区三区野外在线| 欧美国产有色电影| yazhououmeizongya| 99超碰碰| 五月天婷婷在线看| 黄色免费网页无码| 99热综合| 亚洲日韩青青草色月| 97干综合网| 俺去啦自拍| 亚洲欧美天堂| 久草免费福利在线播放| 五月天婷婷基地| 午夜天堂精品久久| 精品女同一区| 91香蕉国产尤物视频| 性在久久久久久| 欧美婷婷五月天| 福利风月五月天影院| 国产精品国产| 欧美96精品在线| 亚州免费啪啪视频| 三级三级三级日本99| 九九九九九九成人| 国产久久天堂资源| 思思热久久成人| 亚洲欧美一区二区三区在钱蜜桃| 中文字幕人乱码中文字的预防方法 | 欧美传媒| 天天日夜夜爽| 偷拍色图| a亚洲欧美色欲| 大香蕉久久| 蜜桃精品视频一区| 神马麻豆福利院| 视频在线观看免费一区二区三区 | 久久久久久久久女黄| 中文字幕一二三| 国产精品制服丝袜清纯唯美 | av最新免费中文字幕| 蜜臀国产AV中文字幕| 精品国产久久乱码| 97国产精品| 欧美操逼熟女| 久久久久久久极品香蕉视频| 天堂九九九九九九九九九| 日韩无码嘿咻黑热久| 97精品在线| 亚洲色婷婷久久91| 欧美顶级黄片AAAAA在线免费看| 精品国产污一区二区三区| 91日日夜夜| 精品国产乱码| 日韩人妻资源在线看| 九九人妻| 特级特黄一级毛片免费| www.狠狠干.coom | 97人妻免费中文字幕| 久久女人视频| 96超碰网| 国内亚洲精彩视频在线| 亚洲一二三精品久久网| 日韩免费a级毛片无码a∨ | 张柏芝国产一区在线观看| 亚洲成人精品在线一区| 三级网色| 久操B网| 超碰97在线色男人??| 啊啊啊啊无码| 亚洲成人黄色在线观看| 欧美激情性爱视频网站| 成人婷婷丁香| 大香蕉伊然在亚洲91| 欧美综合另类| 日本亚洲熟女视频| 亚洲欧洲日产国产综合网| 大逼色网站| 亚洲国产欧美另类自拍| 亚洲情色一区三区| 天天做天天爱| 九九亚洲| 69丨亚洲丨精品丨入口免费播放| 欧美偷偷网| 91丨豆花丨熟女| 少妇色欲综合网2| 亚洲综合99999| h无码动漫在线观看| 日韩钢筋无码高清啾啾啾| 超碰日韩人妻| 日日干夜夜操视频h| 操啊国产| 日日骚 av| 国产隔壁老王影院在线| 中文字幕人妻色偷偷久久皮| 伦激情人妻另类人妻| 国产熟妇一区二区| 一区二区三区黄色片a| 久久动漫精品视频这里只有精品| 国产一进一出视频网站| 亚洲无限观看| 日韩av在线免费网站| 色婷婷一区二区三区久久午夜成人不| 婷婷视频在线免费观看| 中出20p| 亚洲综合色婷婷| 亚洲精品91| 欧美嗯啊……在线观看视频免费| 国产强奸乱伦第1页| 亚洲精品欧美专业| 伊人久久在线视频观看| 欧洲精品久久| 最新国产亚洲精品精品国产亚洲综合 | 国产高清精品一区二区三区毛片 | 91成人久久| 国产精品禁久久久精品| 激情五月综合| 尤物网站91| 精品一久久久| 丝袜美腿制服人妻二区中文字幕 | 在线 制服丝袜中出 人妻| 久久97| 秋霞一区二区三区四区五区六区七区| 伊人激情五月天一区二区|