亚洲有码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
返回資訊列表
99国产女人| 丰满人妻一区二区三区| 日本午夜久久电影| 97 国产一区| 国产人妻久久精品一区二区三区| 日韩免费高清大片在线| 亚洲成人精品久久久| 欧美美逼| 凸凹视频在线观看| 久久一本大香蕉 | 91黄射| 天天上日日上日韩精品| 狠狠色色| 欧美在线大香999| 涩涩涩综合| 校园春色之综合网| 九九这里只有精品| 亚洲国产成人精品久久久国产成人一区二区三.| 大香蕉伊利av| 九九九免费视频| 九九色逼| 欧美国产精品久久九九| 精品视频日日夜夜| 日本不卡五区| 一区二区影院| 国产情色第一第二页在线观看| 91精品国产91综合久久蜜臀| 美女露胸露尿口| 94色色电影网| 欧美淫穴| 久久精品国产精品一区| 精品人妻伦一二三区久久| 久草在| 欧美影院一区二区三区| 中文高清一区二区的| 国产后入式在线观看| 久久久久亚洲三级电影| 九九天堂| 人人看欧美性爱| 大香蕉伊人在线成人AV在线观看| 午夜舔阴达高潮视频免费看| 综合网~91综合网| 精品国产Av无码久久久亚洲| 九草在线大香蕉| 很很操在线| 毛片视频白嫩| 国产农村妇女毛片精品久久| 久久久久久午夜男人的天堂| 97超碰人人操人人操| 97这里都是精品| 欧美一级A一级a爱片久久| 偷拍欧美激情| A一区片| 9超碰免费| 91在线免费精品视频| 天堂资源欧美| 亚洲中文字幕三级在线| 美女啊啊啊啊啊| 免费精品99| 97亚洲综合在线| 亚洲图片偷拍视频区| 久久久一二三四区| 亚洲不卡av在线| gogogo免费高清看中国国语| 伊人宅男大香蕉 | 久污| 91色碰| 777AV电影| 国产久久男人天堂| 久热免费视频| 成人无码在线超碰网| 日本九九久久99| www.91人妻.com| 人妻内射一区二区在线视频| 日韩免费性爱视频在线观看| CCYY草草影院地址入口| 99精品无码| 人妻熟女av国产网站| 亚洲精品1区| 午夜福利免费精品视频| 黑人猛交| 很狠操| 日韩女优在线| 不卡免费av在线播放| 国产精品福利视频| 97视频播放| 97操97色| 性爱动态120秒| 国产福利视频精品视频| 密臀在线视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | www.AV有限公司一区| 国产一区二区成人av在线播放| 天天天天做夜夜夜夜做| 中文字暮97| 操逼片中文| 欧美组图日韩亚洲中文字幕| 中欧人妻丝袜中文字幕| 欧美色图自拍| 国产情色第一第二页在线观看| 男人兔费天堂| 大香蕉手机视频| 久草成人| 亚洲激情色片| 国产女人成人精品视频| 强奸乱伦av电影| 超碰九7| 亚州色图片在线色| 97资源欧美| 最新亚洲人成网站在线影院| 少妇综合网| 人妻少妇无码 | 日韩日本欧美在线观看| 日韩综合色图| 国产精品香蕉| 日韩强奸av| 久久 精品| 久久精品一区二区三区蜜桃臀| 亚洲日韩av一区二区三区百合| 欧美色婷婷| 7777奇米影视久久| 免费av在线播放二区| 91色花堂| 超碰97COm中文| 小电影欧美91| 亚洲精品97久久| 麻豆天天躁天天揉揉AV| 久久久久国产精品人妻aⅴ天堂| 欧美伦乱爱| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠 | 久久怡红院| 亚洲乱码国产乱码精网站| 99亚洲国产精品色一区二区三区| 中国熟女老妇仑乱一区二区三区| 天天综合网91| 中文视频在线观看| 国产精品99精品视频网站| 99久久久无码国产精品性啊聊| 日本三级精品| 日韩少妇无码| a亚洲欧美色欲| 精品无码久久| 狠狠操狠狠操操| yiqicaoav| 亚洲天堂2020| 78久久| 中日韩免费看男女操逼大全| 一级二级三级黑人无码| 亚洲美女自拍偷拍视频| 婷婷五月综合在线| 影音先锋国产精品| 人妻天天夜夜爽一区二区| 性爱视频久久| 久久香蕉网| 欧美三级一级| 麻豆福利视频导航| 精品无码一区二区三区| 国产久久天堂资源| 欧美色图 色综合图| 91AV入口| 综合欧美日本三级| 日韩素人无码一区二区三区三州| 夜夜操91744565| 色欲人妻一区二区在线| 欧美激情内射| 国产精品毛片| 91网站18| 极品尤物女神在线观看| 极品白嫩美女白浆成人福利在线看| 插欧洲美女欧美精品| 丰满人妻一区二区三区免费,| 久久久久久久一级黄色打同平台| 久热大香蕉网站| 噜噜噜噜天天狠狠| 亚洲高清视频在线免费观看| 亚洲AV秘 精品久久老牛影视| 91操人| 91狼人| 日韩欧美亚洲国产日韩| 超碰久草| 岛国片国产成人亚洲播放| 凹凸视频特色日本特黄| 91网18| 97视频在线免费| 国产精品久久久久久亚洲色欲| 国产午夜精品理论片a大结局| 中文字幕日韩电影人妻| 人人人人人人少妇| 欧美A√综合网| 啪啪啪男女亚洲中文字幕99| 国产亚洲精品A在线观看下载| 国产又爽又黄| 色网1| 欧美AB在线| 国产人妖视频一区在线观看| 中美日韩毛片| 久久内射| 免费av大片| 操逼网免费无码视频| 97综合在线观看| 亚洲情色综合网| 久一区久久蜜桃| 强奸乱伦日韩AV| 色哟哟-国产专区| 加勒比综合在线| 日韩国产成人自拍视频| 亚洲淫色网中文| 78超碰| 亚洲国产欧美中文永久| 久久爱超碰网| 久久系列| 9/A片| 少妇特黄一区二区三区| 国产乱色国产精品免费视| 人人操av| 600国产精品视频| 操逼视频亚洲| 精品国产乱码久久久A| 国内三级自拍小视频在线观看 | 亚洲无码视频免费在线观看网址!| 久热这里| 精品国产a∨一区天美传媒| 国产精品亚洲高清在线| 夜夜操一区二区| 久久久九九九| 嗯嗯嗯啊啊啊操的我好爽| 夜夜躁狠狠躁日日躁av| 亚洲无套久久嗯嗯| 日本视频在线中文字幕| 91暧暧| 成人无码在线视频网站| 2000亚洲男人天堂| 久操不卡视频| 91精品网站| 992这里有精品| 婷婷久久五月综合激情| 亚洲精品一二三四区| 极品销魂美女一区二区| 黄色成品网站| 亚洲啪啪视频一区二区| 伊人欧美大香蕉视频| 99热这里只有精品地址| 亚洲高潮影院| 九月AV| 亚洲精品一区二区精品| 亚洲交换| 男人夜色天堂ss| 懂色av一区二区三区天美传媒| 狠狠欧美| 日本视频一区二区三区| 另类欧美综合| 久久av色| 操美女高潮抽搐白浆| 韩日欧亚a级| 夜夜夜久久| 亚洲91在线播放影院| 风骚少妇视频中文字幕| 一起草AV| 亚洲黄色网址视频| 在线综合网| 动漫区日韩区欧美区| 亚洲97久久精品亚洲| 久久久亚洲精品中文字幕人妻| 综合国产97| 午夜视频好爽啊| 欧美第五页| 天天综合AV| 国产成人无码啪| 综合熟妇一区二区三区| 久久、1234| 自拍大香蕉乱插| 99热这里只有精品18| 97干天天| 日韩AV无码中文一区二区| 久久久久女教师免费一区| 99re这里只有精品3| 久操网址| 一级二级三级黑人无码| 丝袜足交视频| 日韩精彩视频| 国产青青美女玩逼视频| 亚洲另类综合欧美| 18禁网站在线播放| 天天射天天操天天干天天吃2018| 99精品丰满人妻无码| 美国aaaaa一级黄片| 91成人无码| 国产精品久久久久久夜夜夜夜| 欧美一级三级| 五月色网| 久久精品国产72国产精品福利| 毛片久久| 欧美激情视频一区二区| 欧美性Fer办公室秘书| 亚洲成人一二三区| 狠狠操天天干| 极品白嫩美女白浆成人福利在线看| 久久97| 亚洲丝袜二区在线| 2003天天干夜夜操| 蜜臀久久久| 北京专精特新企业招聘信息| 日本三级韩三级99久久| 99re国产中文字幕| 国内毛片无码一级毛片| 国产福利小视频高清在线观看| 欧美高清无码免费视频高清版| 色狠狠一区二区三区香蕉| 丝袜亚洲91| 青青草国产盗摄一二三区| av情色影音| 91色艳| 懂色AV一区二区三区| 国内外色色色色色成人视频| 97色色视频| 国产激情片在线观看| 欧美日日操| 日日插夜夜| 97天天| 大逼色网站| 久久99干一本高清| 加勒比性爱成人在线| 色老久久| 久久日韩肥臀| 女人综合网| 天天综合欧美| 牛牛AV人人夜夜澡人人爽| 亚洲欧美高清无码| 日韩操逼HD| 四虎午夜影院| 午夜福利精品| 丰满的三级少妇欧美久久久| 激情深爱五月天| 久久精品一区二区三区不卡| 久久色一区| 中文字幕丝袜人妻| 亚州欧美综合| 中文字幕青青草| 中文乱码字字幕在线第5页| 福利视频香蕉免费一区二区在线| 天堂69亚洲精品中文字| 国产无套粉嫩白浆在| 91久操| 亚洲美乱| 成人黄页| 日本久久超碰| 国产一区二区三区久久久精品| 色乱二区| 欧美激情 日韩精品| 91强在线播放| 唯美清纯 妖精视频| 高清有码一区二区| 国产 亚洲 丝袜 制服| av资源在线播放天堂| 精品女人999| 97爱爱影院| 97操97干| 桃花色综合影院| 欧美成人黄网色网站| 区日韩亚洲乱码av电影| 久久偷偷色综合蜜桃| 亚洲综人网| 男女一进一出视频久久| 在线啊v一区| 99国产精品在线观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 日韩av电影网站| 色妇综合网| 在线色导航| 色五月婷婷在线| 性生活久久久久久久久久| 久久9免费视频| 亚洲一区二区三区在线激情| 伊人成人中文字幕久久网| 国产乱弄免费在线视频。 | 岛国毛片手机在线观看| 亚洲天堂另类美腿| 国产精品一二三| 性爱乱伦视频免费| 久操B网| 啊啊啊轻点在线观看| 亚洲另类欧美精品| 亚洲色图激情小说| 午夜噜噜噜| 日韩操逼HD| 精品人妻二区三区| 国产偷人伦激情在线观看| 男女真人网18| 欧美国产操逼| 日逼视频日本| 日韩精品人妻中文字幕久久久| 天天综合网在线观看| 国产综合永久精品日韩鬼片| 射丝袜大香蕉| 国内精品a| 超碰爽人妻熟女Av| 亚洲春色一区二区三区| 日本高清久久| 久久天堂网| 日韩色欲久久一二三四区| 一区二区三区男女操逼黄色小电影| 九九九成人| 久久精品国产亚洲AV成人直播| 嗯嗯啊啊好疼| 波多野结衣一级视频| 欧美性区| 曰韩人妻中文字幕在线| 97久久精品亚洲| 诱惑网综合| 综合五月婷婷| 亚洲综合第一页| 欧苏综合色综合| 国产精品操| 精品国产乱码久久久久久影片| 午夜操一视频一区| 色九九九九久| 东京太热男人的天堂久久久| 亚洲色图久久精品蜜| 久久中文字幕在线观看| 国产少妇与亚洲av| WWW.操逼.COM| 亚洲一二三| caoni国产亚洲av| 亚洲天堂日本| 亚洲乱熟女一区二区三区大香蕉| 韩国嫰模上门援交视频| 99视频内射三四| 欧美日韩制服| 国产欧美一区二区| 亚洲精品天堂久久A∨51成人漫| 中出789在线视频| 久草国产在线视频| 九t超碰| 欧日韩不卡视.频| 日韩综合色图| 美性中文综合网| 日韩成人性爱AV| 亚洲天天自拍| 欧美综合自拍| 欧美一区二区成人一卡| 很很热性爱视频| 亚洲色电影在线| 成人女人国产| 日欧亚洲二三区大片不卡| 亚洲蜜臀精品视频久久| 很黄很污的免费网站| heyZO天然素人无码AⅤ专区| 伊人视频| 久久天天躁日日躁狠狠躁| 国产69精品久久久久99尤物| 久久伊人最新网址视频| 午夜精品人妻二区三区| 人妻系列无码专区中文有码| 9丨久久九九九| 亚州操操穴网| 尤物黄色在线观看网站| 天天综合网国产| 精品中文字幕第一页| 久久99久久99精品天美传媒棢·纸:.| 97国产超湿| 亚洲1区2区三区高清中文字幕| 精品国产a∨一区天美传媒| 九九九九88| 国产真实野战在线视频| 狠狠91| 国产黄色动态精品| 久久久久久人妻| 在线无码视频| 欧美一级A一级a爱片久久| 欧美日韩精品久久久久东北老熟妇| 高凊专区人人操| 三级三久久线久久99久目本WW| 日韩成人高清一区二区| 乱久久久| 久久97资源 网| 91色综| 国产尹人在线视频免费| 懂色av色欲av蜜臀av| 午夜舔阴达高潮视频免费看| 久久久啊啊啊| 午夜精品人妻二区三区| 在线观看A啊啊啊| 天天综合色| 丝袜熟女一区二区三区| 中日韩一区二区三区欧美| 四虎av在线| 无卡一区=区| 久久久久密臀视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 国产精品一区午夜福利| 熟女乱3伦999| 久久综合九色综合欧洲98| 熟女少妇视频| 国产97色在线 | 亚洲| 国产精品3| 9999九九九久久久| 九九热精彩视频| 欧美狠狠鲁| 亚洲男人的天堂AV| 四虎AV影视国产精品亚洲精品| 亚洲 日韩 欧美 国产综合体| 爱做久久久久久| 国产 v乱码一区二| 去干网最新版| 丁香五月自拍| 天天拍天天操| 欧美熟女少妇| 欧美日韩人人精品| 日本精品国产视频| 蜜桃视频精品一区二区三区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久露脸国产老熟女| 国产高清在线观看欧美| 尤物国产一区在线观看| 丁香九月激情| 97精品国产97久久久久久免费| 久久久久性熟视频| 欧美精品成人亚洲| 天天日日本| 欧美情色男人的天堂| 91嫩草欧美| 国产精品天干天干综合网麻豆| 久久久久久中文版| 久久噜噜噜精品国产亚洲综合| 后入福利| 综合网 欧美| 日韩综合无码一区久久92| 免费日韩黄片| 国产一区在线免费播放| 香蕉久久国产AV一区二区| 亚洲欧美精品一区天堂久久 | 2019久久久久久久久福利| 日韩AV无码中文一区二区| 色在线综合| 日韩免费大片一级播放| 欧美色五月| 夜夜嗷嗷一区二区| 欧洲亚洲人妻无码高清久久三区四区| 国产精品美女视频诱惑| 91成人久久| 好吊妞转入那个网| 久噜噜| 欧美春色| 天堂а√在线最新版在线| 九月婷婷久久| 嫩草影院永久在线制服丝袜| 五月丁香大香蕉| 怡红院怡春院| 久九9精品| 亚洲加勒比| 人人人干干人人干| 91人妻中文| 香蕉99秘 精品一区丁香| 碰超人人在线一区二区三区| 欧美高清色| 26uuu国产成人综合| 资源在线观一 二| 蜜臀av网址| 18禁看网站一区| 囯产乱伦一区二区三女| 久久伊人青青草| 久久久久久久91| 青青伊人这里只有精品| 好爽,再快点啊哈嗯嗯嗯嗯| 欧美在线亚洲| 操逼视频免费日韩无码| 久久久久ab| 日韩国产精品人妻无码久久久| 丁香婷婷啪啪| 超碰99热中文字幕| 欧美性爽xyxOOOO| 97人人操人人干| 热热色AV| 国产麻豆福利av在线播放| 青青草视频久久久久| 天美传媒精品一区二区| 9 9精品一区二区三区| 伊人四虎综合| 在线精品福利免费播放| 久久精品中文| 欧美性爱视频免费一区一A| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 97资源站日韩| 殴美牲| 99国产女人| 精品国产乱码久久久久A| 天堂亚洲精品| 久久九九综合| 精品九区| 开心激情站| 91人妻人人澡人人爽人人精品| 国产这里只有精品| 精品少妇99| 久久老子无码午夜伦不卡| Julia Annxxxxx| 丝袜剧情| 亚洲伊人青青草| 日韩成人大片一区二区| 午夜福利 成人 91| 97人人草| 91精品导航| 国产丝袜视频| 久久在线观看免费视频| 蜜桃臀 后入 一区 二区 三区 在线| 亚洲色阁| 青青草视频爽一爽| 国产美女销魂在线观看不卡| 吉川爱美亚洲二区在线 | 欧美操逼录像国产黄色国产| 人人操人人操草草| 色哟哟-国产专区| 精品女同一区| 超碰97在线色男人??| 国产精品一区午夜福利| 日本黄色天堂| 婷婷爱五月| 超碰97护士| 亚洲人在线| 国产一区二区三区免费视频在性观看| 好好的日:com久久九九| 强奸乱伦中文字幕AV| 欧美精品,四区。五区| 久久九色| 日韩欧美性吧婷婷乱伦大香蕉| 国产精品久久发布| 国产对白刺激视频| 夜夜嗨TV| 中文字幕一区 二 区 三 四 五 区日 日 骚| 免费精品无码一级毛片牛牛影视| 丁香婷婷激情五月天无毒不卡| 久久久免费的精品| 熟女精品日韩一区二区三区| 香蕉久久精品| 手机看av网站在线看| 大色综合| 校园春色综合香蕉| 99热9| 亚洲av无码国产精品字幕| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 综合大香蕉美。| 亚洲天堂区| 成人无码电影在线观看网| 欧美专区17页| 亚洲91亚洲| 偷窥自拍A片| 夜夜草天天| 国产怡红院在线| 成人精品视频一区二区| 乱色视频中文字幕| 成人26uuu| 密臀在线视频| 欧美日韩亚洲五月天婷婷| 开心婷婷五月| 日韩免费大片一级播放| 亚洲国产综合图区中文字幕 | 国产精品熟女丝袜一区二区| w w w.久久精品| 亚洲少妇自拍中文字幕懂色| 久久人人爽爽爽人久久久| 色小视频蜜乳| 精品人妻av在线播放| 久草新在线| 中文字幕第95页| 少妇500双飞99| 夜夜操二区| 一级做a爰片性色毛片久久| 欧美97se| 龙兴卡官方查询| 蜜奶av| 天天综合网一91网| 大香蕉丝袜一级片| Blackedraw视频一区二区| 国产日韩无码一区二区三区久久区| 久久东京热成人| 啊啊啊啊啊啊啊啊啊在线观看| 殴美日韩m| 五月天婷婷色| 99热这里只有精品地址| 亚洲最新中文字幕免费| 黄片qw| 国产精品不卡高清在线观看| 91精品国产91熟女| 亚洲性刺激| 丝袜狂射91| 中国小夫妻勾搭露脸淫荡对白| 蜜臀精品1区2区| 亚洲色人妻综合| 日韩欧美中文| 日韩欧美tv一区二区在线观看| se吧提供国产乱老熟视频胖女人| 国产内射爽爽大片| 激情综合网亚洲| 亚洲色图欧美色图在线播放| 本道在线| 欧美精品欧美精品系列| 啊嗯嗯啊好大好爽| 亚洲色综网| 青青草导航在线视频| 中文熟女五十乱码在线| 九一国产精品| 精品少妇高潮久久| 一本大道青青| 97国产精品一区| 精…码一二三区| 嗯嗯啊啊操我| 国产精品人妻免费精品| 91精品国产91久久福利| 婷婷av在线中文字幕| 影音先锋每日最新资源在线观看 | 极品尤物自安慰| 3P乱轮视频| 欧美成人一区二区三区在线播放| 26uuu国产免费观看| 一个人免费HD91视频| 精品一区二区亚洲国产| 久久久无码国精品无码三区三区| 后X久久| 樱花草社区www中国| 熟女网站最新| 大干人妻| 色婷婷一区二区三区久久| 97精品国产| 亚川综合视频| 亚欧性爱在线无码| 天美国产精品| 色网在线| 超碰诱惑| 神马久久久久久久| 国产成人精品必看| 久久五月视频| 蜜臀人妻少妇久久在线观看| 色九九综合AV| 91成人无码| 视频不卡中文字幕| 国产精品麻豆视频网站| 人人操av| 日本999精品| julia国产在线| 国产97亚洲| av无线看| 五月激情综合网| 欧美亚洲美少妇一区二区| 天天综合~91| 日韩av无码网站| 8050午夜少妇无码| 国产白嫩精品久久| 97综合久第一页| 日韩性爱一级片| 国产一区二区视频在线播放| WWW4虎| 国模91| 欧洲在线性爱视频| 人妻熟女av国产网站| 6080yy午夜理论三级一区二区三区无码| 色www精品视频在线观看| 欧美综合91| 黄色网址在线免费观看| 国产农村妇女精品一二区| 中文字幕第二页| 乱伦一区二区三区‘| 91 丝袜在线| 97se亚洲综合自| 国产精品婬乱一级毛片彝族| 日韩一级二级在线| 中文字幕一区二区无码成人| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 天天干天天操天天拍| 国产自偷| 激情综合网五月婷婷五月天| 日韩人妻网站| 淫荡网址| 日本三级韩国三级99| 啊啊啊啊在线播放| 成人激情无码在线视频| 久久深夜无码| 人人搞人人插人人操| 白嫩国模丰满一二三区| 欧美日日夜夜| 久久久久久精| 淮穴色AV| 极品色| 男人的天堂不卡一区二区| 久久久久久久久久久久九| 国产一级内射无挡观看| 日韩99神马视频片| 日韩欧无码一区二区三区免费不卡| 91丨九色丨东北熟女| 国内外毛片在线观看| 日韩精品1区2区中文字幕| 大香蕉男人的天堂| 老外又粗又长一晚做五次| 九九亚洲| 天天伊人| 成人午夜视频免费播放| 91熟女视频网| 久久男女激情视频网站| 看看日B真人视频| 日本国产欧美高清在线| 亚洲精品黑丝| 在线人人人人人人精品超| 偷拍色图| 久久久免费的精品| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 98福利在线视频| japan日本高清乱xxxx| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国产综合色精品在线观看| 中文字幕艹艹| 欧美福利视频啊啊啊啊| 狠肏骚人妻| 一级黄色视频网| 亚洲综合校园春色| 国产18精品亚洲精品| 加勒比综合在线| 久久久久免费少妇| 精品无码久久久久久久久果冻糖心| 毛片视频白嫩| 欧美日韩国产另类综合| 五十路人妻在线| 操99| 性天堂| 亚洲AV无码久久精品蜜桃小说| 国产对白刺激视频| 综合网亚洲1| 天天拍天天操| 欧美gv在线观看| 97热视频在线观看| 久久久com| 亚洲学生妹高清av| 农村妇女精品一区二区| 亚洲一曲日韩精品| 天天综合~91| 欧美三级一级| 伊人丁香五月婷婷| 婷婷探花久久精品一区| 久久久久久久久久久六六| 波多野结衣AV无码一区| 91成人久久| 亚洲国产精品久久久久久久久久| 免费观看日本操逼视频| 欧美三级免费伊人| 青草青草久热| 97超碰碰| 97国产伦理| 亚洲中文字幕精品久久久久久直播| 变态综合色| 天天看高清麻豆| 啪啪啪综合网| 精品欧美А∨无码黑人大荫蒂| 超碰在线成人电影| 无码欧美有限公司| 亚洲 自拍偷拍 欧美| 国产后入式在线观看| 91亚州欧美| 免费作爱一级视频| 青娱乐国产剧情av一区| 久久成人网站| 欧美少妇第一页| 亚洲天堂中文字| 国内一区二区免费| 加勒比伊人影院| 成人日韩欧美| 萌白酱自拍视频| 2020中文字幕在线观看| 久久久一区二区| 英伦大奶子熟妇吊带| 亚洲精品久久久久久久蜜桃臀| 思思久热在线精品66| 久久久111| 嗯嗯,啊啊,国产精品| 亚洲欧美日韩夜夜| 亚洲日韩人妻中文字幕一区| 中韩中文字幕在线观看| 亚州高清色综合| 成人欧美一区二区三区黑人一| 波多野结衣被操50分钟免费视频| 91久久青青草原精品| 日韩人妻精品| 人妻无码久久一区二区三区免费| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 小少妇| 亚洲欧美日韩夜夜| 久草免费福利在线播放| 91在线精品一区二区三区| 婷婷爽人人婷婷爽视频| 亚洲综合色图欧美| 大香蕉色欲AV| 亚洲国内精品成人不卡| 亚洲综合影片| 青青草在线成人视频| 日本 欧美 亚中文字幕| 中字乱伦AV| 天天操天天干一区二区| 色欲三区| 天堂69亚洲精品中文字| 夜夜草天天| 国产成人亚洲精品无码最新在线| 人人妻人人爱人人玩| 日本大香蕉综合网红本杳社区| 色97欧美| 天天综合网~91| 亚洲高清欧美总合| 日韩精品人妻一区二区| 欧美日韩97| 91另类| 2017av无码免费无线播| 操屄日韩| 巨爆乳一区二区爆乳区| 巨爆乳一区二区爆乳区| 欧美日本中字另类在线| 亚洲免费在线探花| 国产亚州高清国产拍精| 日韩,欧美,中文在线| 亚欧Av| 五月天偷拍| 亚洲老熟妇xxx| 美女露胸露尿口| 欧美亚洲影视| 美女毛片999| A男人的天堂| 果冻传媒A片一二三区| 99久在线精品99re8| 色网亚洲人| 日韩猛交| 日语五十路和六十路亚洲国产精品| 91老女人| 东京热毛片177b2viP| 尤物网站91| 伊人久久综合影院| 中文字幕日韩人妻视频一区二区三区 | 亚洲天天艹| 麻豆影音天美视频| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 日本不卡二三区| 日本顶级天天操狠狠操夜夜操中文字幕| 天天干夜夜肏| 91欧美网| AV乱伦专区| 日韩乱伦影音先锋| 大香蕉碰碰| 亚洲揄拍网| 天堂亚洲精品| 黑人免费福利视频| 八人操人人摸人人看| 亚洲色图激情小说| 九草在线大香蕉| 国产精品午夜福利| 91福利网在线观看| 精品国产乱码久久久久久口爆网站| 婷婷五月天丁香| 欧美色图亚洲特色| 视频在线观看青青99国产| rivers-china.com| 亚洲国产丝袜熟女av| 日本性爱视频一级| 粉嫩绯色AV一区二区在线| 久久久久久中文字幕中文字幕最新| 日本一天色道久久久精品视频| 久久综合久色欧美综合狠狠| 久久色精品视频在线| 亚洲三区视频| 久久久久性熟视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 天天舔九色婷婷| 骚妻少妇精品性色无码四色A V| 九九碰九九爱97超| 亚洲激情综合另类男同| 人妻久久久久久久久久久久久久久 | 99啪啪| 欧美高清第一页| 欧美一区二区亚洲天堂| 国产人妻一区二区三区欧美毛片| 久久一区二区蜜桃| 五月综合婷婷久久网站| 天天天天天天天天综合| 秋霞Av理论一级在线| 欧美精品日韩一区二区| 老司机久久| 日韩欧洲操屄视频| 熟妇最新先锋一二三区| 天天干18禁| 亚洲五月婷| 大香蕉日亚洲日本亚大| 台湾成人无码AV| 97日视频| 在线中文字幕| 老熟女熟妇| 天天草天天日| 曰韩欧美国产传媒麻豆第一区| 国产精品一区二区麻豆| 操我无码| daxiangjiao你懂的| 国产一级不卡在线观看| 嗯嗯啊啊好疼| 欧美精品久久久久久久丰满| 中文字幕一二三区| 久久产精品一区二区三区电影| 蜜臀久久99精品久久久久久久久| 91丝袜人妻| 综合五月婷婷| 中文字幕一区二区无码成人| 色色综合网站| 91女日逼| 99无码精品| 色臀AV| 狠狠躁AV| 日本爽爽爽爽爽爽免费视频| 欧美激情视频一区二区三区不卡| 欧美97| 蜜臀AV一区二区三区激情综合| 国产熟女精品一区二区| 97视频网站在线观看| 国产精品成久久久久午夜午夜| 超碰性爱97| 欧美一级特黄淫片在线观看| 亚洲宗合网| 亚洲码专区| 久久香蕉国产线看观看亚洲女人 | 很很干很很操| 26uuu久久| 国产熟女精品区| 久久久久成人亚洲国产| 999久久久久久久久| 狠狠操天天干| 1769一区| 超碰久在线天天做| 国产欧美日韩在线不卡第一页| 78精品在线| 日本精品88888888| 欧美αv.com| 丰满欧美放荡少妇在线| 久久综合99| 欧美高清无码免费视频高清版| 97超碰巨乳| 欧美一级黄片免费播放| 麻豆久久一区二区三区| 午夜欧美神马久久久久| 大伊香蕉在线视频免费| 男人的天堂免费| 97色色色综合网站| 国产精品久久伊人| 一级一性爱免费视频| 亚洲黄色网址| 日本免费中文一区二区三区四区 | 黄色成年| 日韩人妻网站| 久久久精品成人国产| 久热一区二区| 天天操天天日天天干| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 精品一区二区麻豆| 五月天激情视频| 亚欧免费| 国产综合久久久麻桃个| 中文字幕超碰CAO| 国产丝袜视频| 日本成人电影资源网| 亚洲九九九| 97操综合| 好吊色一区| 99爱在线视频| 久久人人舔人人爽舔人人av片| 午夜精品久久久久久久久久久久久 | 在线观看av区| 色色色日本| 青草一区二区| 久久视频,这里只有精品| 久久发布国产伦子伦精品| 天天精品| 国产成人精品必看| 97免费在线观看| 久久久96精品| 四虎免费看黄| 国产人妻精品久久久一区二区三区| 日本午夜操逼| 日本熟女不卡视频| 91欧美综合| 国产午夜福利合集| 嫩草影院永久在线制服丝袜| 97久久久久久久精| 欧美日韩性爱精品| www.大香| 熟妇xxxxx性春色| 亚洲欧洲激情卡通另类文学四射小说网站| 国产欧美美女免费观看视频| 热的中文 热的有码 热的国产| 天天操女人| 久久久久久久久久8888| 高清成年美女黄网站免费大全| 欧美AAAA黄片| 91天天综合日韩欧美| 亚洲天堂一二| 国偷自 一区| 色综合超碰超| 清清草影| 色大师网站www永久网站视频| 天天透伊人| 激情综合网激情五月天| 干婷婷综合网| 国产亲戚伦亲在线| 国产一在线观看| 久久久久久久伊人精品| 欧美高清无码免费视频高清版| 在线不欧美| 综合 亚洲 欧美| 久久99国产精品| 精品69网| 色臀AV| 久久啊啊| 亚洲 在线| 少妇淫妇久久久久久久| 日本三级精品| 啊啊啊啊好多水| 人人妻人人澡人人爽久久av| 精品人妻少妇| 97超碰9| 91青青草| 亚洲啪啪综合?v一区综合精品区| 亚洲欧美首页| 欧美91精品国产自产| 婷婷色综合欧美日韩| 97在线观看| 人人模人人看| 天天谢天天干| AV和黑人在线播放| 亚洲成人免费中文字幕| 欧美日韩性爱无码| 牛牛aV| 色五月婷婷五月天| 爱爱动态120秒| 大香蕉十区| 热久日综合| 亚洲日韩97| 蜜臀久久久99久久久久 | 日本道人妻久久久在线不卡色视频| 青青草原av| 九九碰九九爱97超碰| av在线播放国产一区| aaaa少妇高潮大片| 婷婷精品| 国产久久视频| 美女黄码视频午夜| 色色97爱| 国内毛片热久久思思热| 亚洲第一黄色av网站| www久| 亚州精品丝袜-不卡成人免费| 国产偷人妻精品一区二区在线| av橘色网站| 国产精品福利资源在线尤物| 午夜福利av电影在线| 国产热RE99久久6国产精品首| 91网站18在线观看| 国产精品不卡一区二区三区| 97在线免费公开视频| 日本人妻丰满熟妇久久久久久| 中文字幕精品一区二区精| 在线99热| 国产25页| 手机在线大香蕉|