#ifndef SINGLERELAY_H #define SINGLERELAY_H #include #include #include #include #include #include namespace Ui { class SingleRelay; } class SingleRelay : public QDialog { Q_OBJECT public: explicit SingleRelay(QWidget *parent = nullptr); ~SingleRelay(); private slots: void on_pushButton_cancel_clicked(); private: Ui::SingleRelay *ui; }; class DropTextEdit : public QTextEdit { public: DropTextEdit(QWidget *parent = nullptr) : QTextEdit(parent) { setAcceptDrops(true); setReadOnly(false); // 确保不是只读的 } protected: void dragEnterEvent(QDragEnterEvent *event) override { qDebug() << "dragEnterEvent" << event->mimeData()->formats(); if (event->mimeData()->hasText()) { event->acceptProposedAction(); } else { event->ignore(); } } void dragMoveEvent(QDragMoveEvent *event) override { if (event->mimeData()->hasText()) { event->acceptProposedAction(); } else { event->ignore(); } } void dropEvent(QDropEvent *event) override { if (event->mimeData()->hasText()) { insertPlainText(event->mimeData()->text()); event->acceptProposedAction(); } else { event->ignore(); } } }; #endif // SINGLERELAY_H