1.创建事件过滤器类,在主窗口中安装事件过滤器
class PasteFilter : public QObject {
Q_OBJECT
public:
PasteFilter(QObject *parent = nullptr) : QObject(parent) {}
protected:
bool eventFilter(QObject *obj, QEvent *event) override {
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (keyEvent->modifiers() == Qt::ControlModifier && keyEvent->key() == Qt::Key_V) {
QTextEdit *textEdit = qobject_cast<QTextEdit *>(obj);
if (textEdit) {
QClipboard *clipboard = QApplication::clipboard();
QString clipboardText = clipboard->text();
QString quotedText = "\"" + clipboardText + "\"";
QTextCursor cursor = textEdit->textCursor();
cursor.insertText(quotedText);