国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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
返回資訊列表
97亚洲色图| 观看免费区二区三区二| 亚洲日韩一区电影| 欧美狠狠操| 在线观看视频91| 男人天堂久久精品不卡| …亚洲黄色厕厕女女在线播…| 蜜臀久久99精品久久久久久酒店| 韩国免费播放一级毛片| 国产一级特黄大片处女| 影音先锋国产精品| 久视频在线观看| 激情终合网| 久久后入制服| 91精品国产91久久青草| 国产高清无码一区二区三区四区皇冠| 97国产超湿| 亚洲国内精品成人不卡| 日韩欧美麻豆 | 久久综合18p| 欧美综合站| 秋霞午夜视频一区二区| 91M一社| 天美传媒AV在线播放| 人妻二区| 狠狠干综合| 一区二区视频你懂的| 色97欧美| 亚洲国产一区二区日韩专区| 美女久久久久久久| 亚洲图片 欧美电影| 一级二级在线观看| 偷窥自拍A片| 欧美精品成人亚洲| 狠狠爱AV| 午夜.DJ高清在线观看免费7| 久久欧美1卡2卡3| 中文字幕精品久久久久人妻红杏ⅰ| 国产乱码久久久| 日韩黄色片子| 亚洲人精| 欧美日韩人妻精品系列一区二区三区| 国产中文精品一区二区在线观看| 超碰97欧美在线| 激情五月天校园春色网| 黄色无码高清黄色无码网站| 色婷婷狠狠| 日本欧美色| 午夜毛片亚洲精品片国产久久久| AV无码久久久精品| 天堂av2019| 综合天天。| 家庭乱伦国产精品| 五月丁香六月婷| 囯产精品强| A级片日韩欧美国产欧美视频精选观看| 国产精品激情久久久久久久| 青青草乱入乱欲视频在线观看| 91性片| 嫩草一区二区在线观看| 久久综合精品一区二区三区| 久久久96| 狠狠操天天干| 无码人妻1727| 99操99| www.AV有限公司一区| 久久久一二三四区| 亚洲无码一二三区| 欧美青青视频| 国产精品4p在线观看| 日韩精品区二区三区不卡| 亚洲中文字幕一区| 日欧亚洲二三区大片不卡| 日本免费中文一区二区三区四区| 精品人妻15区| 色999;丁香五月| 欧美综合 站| 国产中文字幕在线点播| 91色鬼| 丝袜亚洲综合| 久久黄黄| 殴美综合色88| 激情小说亚洲色图| 亚洲,欧美,春色,另类| 91日韩网站| 精品一区二区成人动漫| 亚洲天堂少妇| 日本99视频| 99精品无码| 亚洲无码久久久久久久| av天堂加勒比| 亚洲黄色a级片| 色老牛| 国产自产自拍| 超碰人人干天天射| 婷婷99狠狠| 夜夜欧美 | 欧美网站免费| 性生活性生大爱77AV国产| 伊人色综合网电影| 天美传媒麻豆一区二区三区国产精| 免费视频观看60秒| 乳欲人妻办公室奶水| 伊人aaa| 色综合av男人天堂| 国产美女高潮视频| 韩国一区二区精品亚洲| a亚洲欧美色欲| 青青草原综合久久大伊人精品| 青春草莓视频在线观看网址| 四虎影视永久在线观看精品免费网站| 牛牛aV| 久热网| 亚洲男人的天堂亚洲| 欧美色偷偷| 色久桃花影院在线观看| 色九九九九九九| 激情五月丁香五月| 伊人影院日本| 青青色综合| 欧美人妻精品一区二区| 九九九九一级| 婷婷五月花| 欧美啪啪色吧在线| 成人日韩中文字幕| 亚洲精品中文字幕一区在线视频| 人妻天堂网| 99热这里| 午夜爽爽爽在线观看永久入口姬片| 天天热精品| 97五月天| 岛国激情视频在线观看| 九久久精品| 日韩啪啪啪啪啪| 蜜臀AV秘一区翔田千里| 91久久精品美女高潮喷水| 99精品无码| 另类小说综合网| 天天大干大香蕉| 探花熟女,姿勢到位,體驗感也到位| 99在线精品观看视频中文 | 99热精品在线观看| 久久透逼视频| 97久久综合网| 免费9 1久久| 肉嘟嘟www视频在线观看高清| 欧美丝袜中文字幕07在线| 欧美精品在线观看| 免费一级欧美片片线观看| 国产成人欧美精品在线| 四虎免费视频| 超碰 97国产熟女| 欧美性爱日韩性爱| 风月影院十八禁| 成人在线午夜视频一区| 日韩偷拍色图| 天天草天天干天天日| 久久大| 日韩专区久久久| 91AV老熟女视频| 福利色色| 国产A v无码专区| 大奶的诱惑| 久久久久9999精品九九九| 麻豆久久久一区二区| 日韩一级欧美一级国产一级台湾| 亚欧美无遮挡| 亚洲人精品久久久| 青娱乐手机日韩在线视频| 亚洲高潮少妇| 中文字幕精品一区二区精品| 色香蕉影院| 乱论91| 日日超碰亚洲| 玖玖久久久| 加勒比久久av| 欧美日韩国产人人| 一区二区你上我| 国产1769在线| 国产精品呦一区二区三区| 国产精品人妻免费精品| 久久黄黄黄| 天天综合网合集91| 亚洲蜜臀懂色| 日本不卡三级网在线播放| 久久丁香五月婷婷| 欧美日韩操逼动图| 欧美成人性爱视频在线播放| 久久久偷拍| 好色美女九七第一页| 欧美日韩天堂| 日韩精品人妻中文字有码在线| 99中出在线| 玖玖色综合| 手机看片1025| 免费一级毛片在线视频观看| 精品亚洲国产成人av网站| 久久性生大片免费观看性| 日韩超碰97| 插B在线观看| 精品人妻一二三四区视频| 欧美成人综合| 欧美国产一区二区三区麻豆传媒| 天天综合网入口~91| 熟妇最新先锋一二三区| 精品一区二区三区蜜桃臀赵总 | 伊人久日| 97国产精选| 亚洲骚男同com| 9 1超碰九色| 精品一区99999| 99re综合伊人| 色噜噜人妻av中文字幕| 综合久久9| 性91| 极品国产内射| 91N综合网| 男人天堂无码| 欧美在线电影| 超碰在线人人射| 亚洲加勒比久久日本道| 日韩一级欧美一级国产一级台湾| 26uuu久久| 国产综合日韩伦理| 日小BB小视频| 俄罗斯一区二区视频在线观看 | 色噜噜人妻av 中文字幕| 亚州精品一区二区三区香中文字幕在线| 色婷婷99| 婷婷久久久| 无码又爽又硬又激情免费视频 | 成人网欧美风情| 亚洲影院小综合| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 中文字幕一区二区三区人妻少妇在线| 丁香五月激情五月| 中文字暮97| 嗯嗯嗯嗯啊啊啊好紧好大| 清清一区二区三区四区不卡视频| 色五月69夫妻| 97久久天天综合色天天综合色电影| 九九久精品| 亚洲 日本 不卡| 亚洲无 码A片在线观看麻豆| 国产一区免费午夜视频| 韩国一级做A片免费的| 丁香五月影院| 一本正道久久熟女| 亚州高清av| 国内毛片四区| 亚洲精品一区二区日本| 少妇高潮对白在线观看| 99亚洲天堂| 成人老鸭窝人人在线视频| 蘋果手機免費看成人Av| 久 久无码人妻AV| 欧美大香蕉久| 久久美女福利是上海美女| 一区二区三区机械有限公司| 精品然女一区二区| 欧美中文字幕精品人妻| 久久精品中文字幕无码l| 久久xx| 亚洲五区熟女| 中文有码9| 99久久精品无码一区二区毛片免费| 老司机深夜影院18未满| 日韩人妻精品久久久久| 九九九九九九九九九九精品视频| 成人久久久| 欧美性生活免费网| 九九九九九九亚洲| 欧美淫乱视频| 精品三级在线专区| 色99在线| 韩日精品福利视频一区不卡在线免| 精品一区二区三区蜜桃臀www| 1024精品在线| av毛片aaaaa免费看| 午夜黄色免费在线观看| 97色视频在线| 欧美东京热青青草| 久久久久亚洲Aⅴ无码| www四虎| 天天影视之亚洲综合网| 亚洲最新Av| 亚洲精品国产精品乱码不99| 国产偷仑| 日韩三级伊人| 狠狠色综合网| julia ann久久| 国产午夜精品理论片一二三区区| 亚洲激情av| 99啪啪| 嗯嗯啊好爽| 日韩欧美中文| 精品亚洲俞拍视频一区| 五十路一区无码| 国产精品午夜高潮呻吟久久av| 欧美老妇综合网| 亚洲综合色图欧美| 日韩性爱电影一区| 60秒免费视频| 日韩操逼性鲍| 国产精品青青草| av影院十区| 国产大学生口爆吞精合集| 五月天伊人| 亚洲丝袜诱惑| 欧美成人A天堂片在线观看| 嗯嗯啊啊用力视频免费| 97 国产一区| 婷婷五月天激情四射| 久久性爱免费送| 久久国产精品熟女人妻| 乱伦一二三区| 在线观看十八禁| 天天操妹子| 一区三区啪啪| WWW美腿丝袜香蕉中文| 国产操伦| 欧美A√综合网| 久久久久亚洲| 最新一二三区视频| av三级电影在线播放| 七久久久| 亚洲欧美另类图片| 欧美激情五月天| 欧美中日韩XXXX| 亚洲最大网站av| 99蜜月精品久久| 欧美视频一区二区在线| 亚洲欧美综合网站| 欧美激情中文字幕另类小说| 天天爱综合网| 国内三级自拍小视频在线观看| 操我啊啊啊啊啊| 神马久久久久久| 无码heyzo高清一区| 久热一区二区| 伊人久久大香线综合无码| 欧美一级AAAAAAA| 亚洲美乱| 一级黄色性爱裸体视频| 麻豆天美传媒在线视频天堂| 亚洲另类春色| 亚洲最大AV网| 久久久久久免费电影| 国产一在线观看| 99re不伦| 无码高清操逼| 搞中出视频在线观看| 亚洲,日韩,欧美,成人播放 | 欧美日韩另类字幕中文| www黄片免费看com| 一区二区播放| 九九内射在线| 91大神精品长腿在线观看网站| 极品少妇99| 欧美日韩1234| 国产十八禁视频| 被男人吃奶很爽的毛片| 好爽免费视频,| 精品午夜福利国产一区二区在线观看 | 中文操逼字幕| 国产精品制服丝袜中文字幕日韩一区二区三区 | 亚洲欧美九九| 国产久久av| 97人人夜| 亚洲国产精品久久久久婷婷青年| 国产大陆天天艹| 加勒比少妇AV婷婷六月天超碰超碰| 91成人在线免费视频| 中文字幕第二页| 亚洲骚女一区二区三区| av无码av无码专区| 97久久久久久久久久| 操久久久久久| AV网站高清无码在线观看| 美女爽到高潮91| 91国产精品熟女| av在线不卡一区二区三区| 91精品国产91熟女| 97综合日韩| 天天综合网日韩7799| 中国和日本人色哪个不下载能放| 中文字幕精品码亚洲| 免费久久精品麻豆一区二区av| 久久国产对白激情浪潮 | 两女互慰AV高潮喷水在线观看| www.国产高潮精品| 少妇被c 黄 免费观看| 亚洲电影91| 五月丁香啪啪网| 无码久久亚洲高清,| 日本精品一区二区三| 射丝袜高跟鞋99| 97国产高清视频在线观看| 99在线精品视频| www.91欧美| 人人操av| 黄色性爱网网| 人人做,人人操,人人摸| 花花AV导航| 97在线观看免费视频l| 校园春色综合| 国产伦乱91| 无码人妻一区二区三区色欲aⅴ | 91中文字幕| 97超碰这里只有精品| 久久五月份| 亚洲人妻中文高清| 青青操综合网| a男人的天堂久久一级A毛片| 伊人性在线视频| 91丝袜激情在线| 午夜人妻精品综合在线| 精品国产精品一区二区| 久久91视频| 亚洲国产成人精品女人久久久| 成人在线午夜视频一区| 伊人AAA| 中国探花熟女| 精品国产一区二区三区香蕉欧美| 激情五月天中文字幕色| 日韩内| 国产传媒一区日韩| oumeisetupian| 婷婷五月天av| 69精品久久久久中文字幕| 99亚洲精品| 久久久性爱| 97国产中文| 久久国产精品熟女人妻| 中文字幕在线观看网页| 又黑又大又粗| 午夜电影在线观看无码专区| 国产黄色影片在线观看| 日本黄色精品专区网站| 超碰午夜| 国产精品视频内谢女人| 夜草网站| 立川理惠被中出无码| 酒色综合网| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 五月天黄色激情视频| 91香蕉视频在线观看免费| 久久久97| 操逼无码操逼| 国产亚洲精品激情| 先锋影音av先锋一区| 国产福利合集| 97在线免费视频| 日本一级特级毛片视频| 午夜小电影在线插入淫高潮 | 国产精品一级特黄aaa大片在线观看| 精品美女久久久久| 大香蕉乱级| 天堂69亚洲精品中文字| 思思热在线视频免费| 日韩欧美性爱电影在线观看| 黄色成人网久久久久久| 日B操| 免费一级黄色录像影片| 亚洲天堂AV在线播放| 中文字幕一区二区日韩网| 亚洲欧洲中文日韩女优乱码| 欧美日韩午夜精品一区二区三区 | 国产熟女完整版中字 | 91影视亚洲| 免费97视频| 九99久久| 中国熟妇| 亚洲 欧美 精品专区 极品| 中文操逼字幕| 日韩精品黄片免费观看| 爱射综合| 国产精品熟女AV中文字幕在线播放| 日韩精彩免费| 白 大 人妻 区 在线| 99re在线视频| 97亚洲综合在线| 黑人在线91| 久久日韩肥臀| 呦呦影院| 逼逼逼逼操操操操操操操操操午夜剧场 | 五十路成人在线视频二区三区| 久久久三区二区一区| 2017天天操天天日| 97爱| 久久久久亚洲av综合波多野制衣| 天天干天天操天天干天天操| av大香蕉| 熟妇一区二区三区| 欧美一区二区三区黄色影视| 亚洲高潮影院| 日本高清免费一本视频在线观看| 性在久久久久久| 免费视频a级毛片免费视频| 日韩精品区二区三区不卡| 日韩精品三区四区| 91色伦| 少妇综合| 丝袜美腿制服人妻二区中文字幕 | 狠综合网| 亚洲资源站| 九九九网页| www.acm成人黄色毛片| 激情另类激情| 超碰国产精品久| 国产日本久久免费精品| 99国产精品人妻人伦| 人妻人人澡人人爽人人| 青女偷拍网| 日本色色视频网站| 婷婷激情五月| 香港日本韩国人妇99www.wccm20| 国产97色在线| 九色精品视频导航1| 色情婷婷| 中国熟女网站| 视频不卡中文字幕| www.色操逼| 观看视频图片一区二区三区| 热G综合热G中文| 中文操逼字幕| 曰本人妻人人澡人人夹| 蜜桃久久久久久久| 日本高清视频在线观看黄已三辽| 日韩无码视频黄色| 五月婷婷基地| 精品一久久久| 99热在线观看| 妺妺跟我一起洗澡没忍住| 亚洲日本男人天堂网| 久射吧| 天天看天天在线精品| 亚洲男人bt天堂| 九九九九97| 日韩三级伦理中文字幕| 五月天激情四射| 亚洲综合伊人| 欧美精品23| 超碰97起碰| 呻吟 欧美 日本 中出| 天堂v无码免费视频| 伊人亚洲国产一成人久久精品,久久| 一区二区视频你懂的| 九九九久久久| 开心五月天激情网| AV天黑人| 国产成人精品日本视频| 亚洲诱惑| 18禁止看精品中文字幕| 25国产精品免费观看| 美国三级日本三级久久99| 亚洲欧洲综合成人av一区| AV色天香在线| 97这里有精品| 大屁股xxxxx| 国产白领连续中出在线播放| 肏逼福利网站| 婷婷五月天补不补| 99夜夜操| 丁香六月婷婷| 校园春色 亚洲| 肏逼视频日本| 亚洲欧美另类少妇精品| 中文字幕97| 大香蕉宗合网在线| 欧美碰碰综合色| 欧亚免费视频| AV色图| 一牛影视成人片免费| 91久久18禁| 老外又粗又长一晚做五次| 国产丝袜美女诱惑| 七月婷婷综合| 天天干天天日天天射黄色大片| 综合网天天| 日韩另类色图| 久久久久久久精| 亚洲一区二区麻豆影院| 91bbb| 人人手机欧洲亚洲国产人妻| 性综合网| 91视频观看网站| 欧美组图日韩亚洲中文字幕| 久久久久9久久久久| 日韩欧美加勒比| 免费看污网站| 国产午夜福利电影免费在线观看 | 97av在线观看| 精品熟女一区=区三区| 97超碰久久| 综合国产97| 中日韩一区二区三区欧美| 中文字幕视频在线观看一区二区| 9 1果冻精品视频| 男人的天堂2019AV| 人人么人人操| 久久精品视频在线观看| 美国一区二区三区视频| 91超碰在线观看| 色婷婷激情| 久久9久| 91视频观看网站| 欧美性爱第1 页| 草伊人高潮喷水超碰| WWW啪啪的com| 青青草好吊| 亚洲色久| 五月婷亚洲精品天堂| 久久综合精品一区二区三区| 欧美日韩精品一区二区三区高清| 女人18精品一区二区三区| 久久伊人大香蕉| 青青青国产手线观看视频2| 97在线观看免费视频l| 亚洲午夜福利在线影院| 老司机香蕉久久久久| 五月丁香综合激情| 亚洲AV无码乱码| 男人的天堂无码| 啪啪91| 亚洲成人黄色在线观看| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 日本在线一二 | 日韩一级片在线看| 蜜臀中文字幕| 吊色| 男女打扑克高清网站| 男人天堂黄片| 亚洲资源一区| 天堂麻豆天美| 中文字幕永久在线| 岛国A V在线免费看| 久久视频,这里只有精品| 亚洲无码色| 男人天堂网址| 久久久免费视频18| 99国产精品在线观看| 国产A v无码专区| 色图综合| 久久综合久色欧美综合狠狠| 性色乱AV一区二区| 亚洲砖码砖专无区2023| 秋霞Av理论一级在线| x97av| 天天射网| 久久伊人大香蕉| 亚洲天天做日日做天天谢日日 | yirendaxiangjiashipin| 日本欧美亚洲高清在线看| 亚洲综合九九| 日本三级精品| 欧美性暴力猛交XXXX| 婷婷综合网站| 亚洲图片婷婷五月天| 一区二区视频在看| 鸥美极品| 蜜桃在线观看一区二区三区 | 啪啪视频免费在线观看| 青青青草原| 熟女中出视频| 精品视频久久久久九九九九9999| 操逼操操操91| 午夜操逼不卡| 欧美综合天天| 国产97色在线 | 亚洲| 男人的天堂VA在线| 亚洲色欲一区二区三区| 五月天伊人| 国产精品一级片在线看| 日韩黄片影院| 亚洲黑人在线| 女上位精品在线| 欧美精品久久| 亚洲男人的天堂AV| 嗯嗯嗯啊啊啊在线免费观看| 在线看免费无码AV天堂的| 久久天天艹| 男女做爰猛烈动高潮A片免费应用| 97干色| 亚洲高潮影院| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲一区二区中文字幕| 色欲av一区二区三区蜜芽| 亚洲国产精品成人久久蜜臀| 欧洲色综合| 神马九九九| 欧美在线视频播放| 上床不卡网站| 免费农村成人少妇人妻Aa一区二区视频| 婷婷五月天伊人| 日本中文字幕在线视频| 中国乱伦一区二区| 欧美91变态| 亚洲天天更新| 美女黄站| 亚洲成成熟女人综合一区二区| 9九九国产| 果冻传媒A片一二三区| 亚洲永久AV无码精品秋霞| 九九热免费国产视频婷婷伊人五月 | 欧美爱三级日韩久久| 久久97| 蜜臀99久久精品久久久久| 亚洲Av诱惑| 亚洲性刺激| 东京热,男人的天堂| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产AV毛片| 成人精品一区二区91毛片不卡| 国产色产精品在线观看| 亚洲无992tv| 高清孕妇孕交 交| 欧美性夜| 亚洲高清91| 18+91网站| 欧美色图欧美| 久久超碰日韩精品| 中文字幕97| 久久欲| 成人麻豆av电影网站| 日本操大逼| 把腿张开老子CAO烂你| 日本高清_区二区三区| 国产男人又猛又粗又爽| 国产强奸超碰AV| 色五月婷婷在线| 天天看综合网| 色婷婷在线视频精品导航| 超碰色中文| 男人网站婷婷| 欧美综合传媒| 凹凸 69堂 在线播放| 凹凸精品熟女在线观看| 极品销魂美女一区二区| A 在线网址| 国产尤物AV尤物在线观看不卡| 视频分类 国内精品| 久久五月天婷婷| 亚洲熟妇自偷自拍另欧美| 欧美色三级片91| 中文97国产| 91亚洲丝袜| AV中文字幕三四五| 婷婷久月| 岛国大片国产| 人妻精品视频一区二区| 天天综合网站| 欧美丝袜激情| 丝袜色综合| 97资源亚洲| 日B操| 玖玖爱免费观看视频| 婷婷激情四射| 国产精品亚洲免费| 欧洲Au麻豆| 91少妇通奸网站| 超碰色97| 综合国产影视三级| 韩国一级做A片免费的| 精品少妇后入一区二区三区四区人妻巨乳 | 美女天天干| 激情小说亚洲| 18禁精品网站在线看| 成人国产精品三级A片| 91精品电影18| 亚洲涩图欧美| 九九九九国产| 国产福利av精彩对白| 天天综合~91入口| 久色99999| 欧美日韩精品久久久久久久久东北老熟妇| 99婷婷一区二区| 成人网站 免费观看| 伊人97超碰| 豆1无夜无码| 伊人九九| 欧亚乱色熟女一区二区| 欧美亚洲综合色| 裸体美女久久久| 奶水 人妻 哺乳 在线| 久久精品福利影院| 久久五月综合| 色娱乐色呦呦夜夜夜夜av| 色97国产69香蕉| 俺去啦俺来也久久综合| 亚洲黄色影视| 久无码| 秘书高跟黑色丝袜国产91在线| 男女做爰猛烈动高潮A片免费应用| 久久精品国产96精品亚洲拳交| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 欧美顶级黄片AAAAA在线免费看 | 97超碰超| 色综合久| 久久m| 水多多映视AV| 色婷婷色99国产综合精品| SS久久| 亚欧美色| 97欧美性爱| 青青草国产亚洲精品久久| 99热精品在线观看| a亚洲欧美色欲| 日韩AV一区二区三区四四| 在线小说视频一区| 国产AAAAAABBBBB| 亚洲色吧网| 超碰9 7女人| 欧美aa一级片| 刺激性视频黄页| 亚洲欧美骚| 曰韩成人免费视频| 日韩AV色图| 久久成人东京热人妻| 性色生活片久久毛片婬片免费放女人一级毛片| 久久黄黄| 97日韩超碰超碰中文字幕| 韩国三级理论在线| 国产精品久久久久久久久久久久久久久 | 亚洲欧美日韩精品久久久一区二区| 动漫片子网站3黄| 精…码一二三区| 无码免费精品高清| 色五月激情AV在线| 国产亚洲女v在线观看| 欧美熟妇乱码在线一区| 搡老女人老熟女91老熟女综合网| 久久鲁干| 另类专区加勒比| 久操网视频| 黄色不卡视频| 性饥渴少妇av无码毛片| 激情露脸爱| 啪啪视频免费在线观看| 9久超碰| 亚洲欧美综合图片| 99久久e免费热视| 狠色婷婷久久一区二区三区_| 自拍偷拍 日韩欧美| 蜜臀在线免费观看在线免费观看| 精品无吗m| 黑丝少妇在线观看| 国产免费内射视频| 激情五月综合网| 欧美AB在线| 中文字幕视频2区| 啪啪啪东京| 91欧美性| 国内自拍 日韩激情 99| 中文区中文字幕免费看| 野狼激情网| 国产精品亚洲色婷婷久久久| 黄资源| 日韩中文字幕在线视频观看| 中文字幕乱妇免费视频| 天天综合在线4| 级做a爱无码性色永久免费| 试看福利| 中文字幕精品日韩中文字幕| 91视频综合在线| 国产精品久久久久无码AV会牛| 九九亚洲色在线观看| 人妻 丝袜美腿 中文字幕| 精品国产国产AV| 欧美性爱一级操| 日韩欧美麻豆 | 吻戏激情性巴克| 91中出| 青青草视频久久久久| 91社区伊人| 精品国产污一区二区三区| 大香蕉一区二区在线观看.| 亚洲色丰满少妇高潮| 国产麻豆福利av在线播放| 日韩青久久| 丰满人妻一区二区三区| 97久久超碰| 婷婷情色五月天| 人妻人人做人人澡人人爽欧美一区| 91老熟女91老女人| 91 刺激在线| 91老司机在线| 亚洲天天艹| 69少妇一区二区| 人妻素股| 97电影院超碰| 丁香五六月啪啪| h色99999| 欧美一区二区亚洲天堂| 欧美精品97| 人妻人人澡人人爽人人| 亚洲中文字母在线播放| 日本不卡在线二区三区| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 伊人精品国产| 91男女啊啊啊| 91 亚洲 欧美 日韩 国产 综合| 国产97在线视频| 麻豆人妻偷人精品无码视频| 超碰日本97美女人妻人人玩人人爱 | 好看的91视频| 久热99| 嗯啊抽插大香蕉网页| 亚洲一二三四区| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 97精彩视频网站| 在线免费观看日韩一区| 天天躁日日躁狠狠狠躁| 久久这里精品国产99丫e6| 日韩无码黄色片| 97超碰欧美手机| 久久久久ab| 亚洲激情综合| 国产操伦| 欧美色网络| 国产精品经典一卡久久久| 黄色人人| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 天堂伊人久久| 99热网站| 午夜福利av电影在线| 九久精品| 91视频综合在线| 欧美九九爱| 5278欧美一区二区三区| 亚洲av性爱电影| 精品美女久久一二三| 久热婷婷| AV天堂国产| 欧美色图亚洲色| Aa东京男人的天堂| 丰满少妇人妻久久久久久| 亚洲二区精品在线观看| A级在线视频| 久久精品操| 久日91在线| 亚洲。日韩。欧美| 爱我干综合| 亚洲性爱电影| 97这里只有精品| 日韩欧美久久婷婷网站| 久久中日麻豆| 亚洲欧美校园另类春色| 99久久久久| 自慰白浆在线观看| 国产亲戚伦亲在线| 操逼片国产| 亚洲无码太久| 美日韩男女操屄视频| 午夜精品久久久| 美女诱惑久久| 日本不卡一二区| 999国产精品999久久久久久| 97在线欧| 2020中文字幕在线| 超碰精品人妻狠狠干| 狠狠躁日日躁夜夜躁A| 九九九影院| 夜夜国产一区| 精品97精品97| 午夜精品久久久久久久99热影院 | 国产亚洲精品激情| 操B视频日韩无码| 亚洲国产成人7777| 美女操逼A A| 日本人妻中文字幕精品| 日韩三A大片在线观看| 情趣丝袜无码操逼视频| 26uuu国产亚洲综合| 久久精品国产AV一区二区三区| 国产精品一区二区手机看片| 无码久久国产| 伊人网青青| 欧美性爱18观看| 成人性爱av| 国产h片在线观看视频| 国产AV激情无码久久无码 | 日韩精品在线视频,日韩精品……| 羞涩视频| 国产拍偷精品网站| 性videos欧美熟妇hdx| 在线播放免费av福利片| 久久人人爽爽人人爽人人片αV| 日韩Va亚洲va欧美Ⅴa久久| a级成人毛片免费视频高清| 网页导航五月天免费一二三区 | 四虎免费看黄| 久草精品一区| 欧美专区17页| 欧美草草高清日韩视频| 黄页av| 日本在线观看网址| 亚洲激情综合另类男同| 青青久久手机线视频| 久久鲁干| 水野优香在线观看| 亚欧美天堂在线| 欧美78| 玖玖大干人妻| juliaann丝袜| 亚洲 小说 欧美 激情 另类| 美国一区二区三区视频| 国产女人91精品嗷嗷嗷嗷| 人妻久久久久久| 久久人妻四季| 婷婷15月天青娱乐| 五月天AV资源| 淫荡网址| 操迟操逼在巾线Fre看| 国产成人自拍视频在线| 精品久久久久久亚洲| 青青操少妇| 97精品网站| 97欧美综合| 涩综合导航| 久久精视频美日韩在线视频| 激情六月天| 99re8免费高清在线| 99蜜月精品久久| 78超碰| 国产精品亚洲高清在线| 五月天婷婷基地| 开心六月色| 骚妻少妇精品性色无码四色A V| 亚洲熟女综合网| 欧美日产国产在线成人第一区| 十八禁啪啦拍视频无遮挡| 色哟哟国产精品免费网址| 91少妇香蕉久久精品| 91美| 又大又长又粗又爽又黄| 99久久9| 青青草日本中文字幕| 久久精品国产97欧美精品亚洲 | 黄片免费视频2019| 偷窥自拍亚洲天堂网爆| 宅男午夜在线视频| 夜夜高潮夜夜爽国产伦精品| 富女玩鸭子一级毛片| 人妻aa| 欧美熟妇精品黑人巨大一二三区| 破处bbq| 性色AV网站| 日韩一级片在线看| 亚洲三级网址久久最新| 精品在线78| 免费人成在线观看网站品爱网| 五月婷婷基地| 9999亚洲精品| 懂色Av| 中文字幕jul-617人妻熟女| 日本精品国产视频| 日本Suv精品一区二区| 久草视频观看视频在线| 狠狠狠一区二区三区| 亚洲久久东京热一二三四五区视频| 欧美精品三级黄片| av资源在线观看少妇| 96免费视频在线| 69精品| 日本理论在线| 欧美97视频| 国产激情视频一区区三区| 一区二区三区激情在线观看| 九九九九日本| 美女诱惑一区| 五月色网| 乱码人妻一区二区三区| 性爱视频免费网址| 99re9在线| 天天久久久久久| 精品国产人成在线| 自拍丝袜美腿人妻| 精品一区二区三区丰满熟女-亚洲欧美一区| 天天综合网日韩7799| 麻豆久久久久久久久丝袜| 2017天天插| 精品超碰国产| 亚洲国产中文字幕| 日本十八禁免费看污网站| 成人AV素股で擦久久| 日日摸日日碰夜夜爽视频| 能直接看AV的网站| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91久久婷婷| 女同性恋中文字幕| 乱伦Av网| 久啪| 亚欧性爱无码| 2019AV天堂| 69国产对白刺激| 97舔舔| 亚洲国产精品无石码久久| 婷婷丁香久久| 91超碰在线观看| 自拍大香蕉乱插| 九九九草| 国产 无码 一区二区| 精品无码久久久久| 国产精品久久久久久久AV大片 | 加勒比aⅴ| 亚洲午夜AV| 国产一区二区精品久久久不卡蜜臀| 开心五月深爱五月| 五月丁香| 欧美92| 99操逼| sewuyueav| 激情五月婷婷综合| 又黄又硬又粗又长国产视频| 国产精品亚洲一区二区三区四区| 欧美亚洲国产日本在线,久久精品国产| 超碰人人操97碰| 人妻 欧美 中文| 乱伦a片视频| 狠色婷婷久久一区二区三区_| 亚洲一区二区三区不卡国产欧美| 黑丝日韩av丝袜av| 亚洲密乳AV| 和协影院中文字幕三区| 日韩精品碰碰| 91精品久久久久久77777| 亚洲精品第一| 日日AAvv| 涩五月婷婷| 屁股久久久久久久久久| 97天天摸天天碰| 操一操摸一摸| 97超碰热线| 无码最新| 亚洲日韩黑丝| 亚洲午夜AV| 国产精品操| xxx亚洲午夜天堂| 综合国产影视三级| 加勒比伊人综合| 免费看欧美美女黄色大片| 四虎免费在线播放| 久久精品国产精品亚洲艾通辽熟妇| 欧亚日韩中文在线| 九九九午夜| 亚洲精品国产无码高清| 日韩中文字幕宗合在线| 性爱av在线免费观看| 久久丝袜| 色月天AV导航| 被男人添B超爽视频| 中文字幕免费看| 九九热精品| 国内亚洲高清无码| 天天操人人操骚逼网站| 久久香蕉国产线看观看猫咪av| 日韩99999| 亚洲中文人妻色| 国产精品极品美女视频|