mirror of
https://github.com/Minidoracat/mcp-feedback-enhanced.git
synced 2025-07-27 10:42:25 +08:00
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
智能文字編輯器
|
|
==============
|
|
|
|
支援智能 Ctrl+V 的文字輸入框,能自動處理圖片貼上。
|
|
"""
|
|
|
|
from PySide6.QtWidgets import QTextEdit, QApplication
|
|
from PySide6.QtCore import Qt, Signal
|
|
|
|
|
|
class SmartTextEdit(QTextEdit):
|
|
"""支援智能 Ctrl+V 的文字輸入框"""
|
|
image_paste_requested = Signal()
|
|
|
|
def __init__(self, parent=None):
|
|
super().__init__(parent)
|
|
|
|
def keyPressEvent(self, event):
|
|
"""處理按鍵事件,實現智能 Ctrl+V"""
|
|
if event.key() == Qt.Key_V and event.modifiers() == Qt.ControlModifier:
|
|
# 檢查剪貼簿是否有圖片
|
|
clipboard = QApplication.clipboard()
|
|
|
|
if clipboard.mimeData().hasImage():
|
|
# 如果有圖片,發送信號通知主窗口處理圖片貼上
|
|
self.image_paste_requested.emit()
|
|
# 不執行預設的文字貼上行為
|
|
return
|
|
else:
|
|
# 如果沒有圖片,執行正常的文字貼上
|
|
super().keyPressEvent(event)
|
|
else:
|
|
# 其他按鍵正常處理
|
|
super().keyPressEvent(event) |