QTextEdit не работает - PullRequest
       24

QTextEdit не работает

1 голос
/ 30 января 2012

Почему перетаскивание изображений не работает на этом QTextEdit?Я перепробовал все.

вот класс TextEdit:

 //textedit
class TextEdit : public QTextEdit
 {
Q_OBJECT
public:




TextEdit(QWidget*parent) : QTextEdit(parent)
{
    this->setAcceptDrops(true);
}


virtual void dragEnterEvent(QDragEnterEvent *e)
{
    e->accept();
    //QTextEdit::dragEnterEvent(e);
}

virtual void dragLeaveEvent(QDragLeaveEvent *e)
{
    e->accept();
    //QTextEdit::dragLeaveEvent(e);
}
//
virtual void dragMoveEvent(QDragMoveEvent *e)
{
    e->accept();
   // QTextEdit::dragMoveEvent(e);
}

virtual void dropEvent(QDropEvent *e)
{
    QTextEdit::dropEvent(e);
}

bool canInsertFromMimeData(const  QMimeData *source ) const
{
    if (source->hasImage())
        return true;
    else
        return QTextEdit::canInsertFromMimeData(source);
}


void insertFromMimeData( const QMimeData *source )
{
    if (source->hasImage())
    {
        QImage image = qvariant_cast<QImage>(source->imageData());
        QTextCursor cursor = this->textCursor();
        QTextDocument *document = this->document();
        document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
        cursor.insertImage("image");
    }
}
};

контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекст контекстконтекст контекст контекст

1 Ответ

1 голос
/ 30 января 2012

Это зависит от того, из какого приложения вы перетаскиваете изображения, и какие данные это приложение решит включить в операцию.Если это не работает для вас, это потому, что все, что вы отбрасываете, не содержит данных изображения и, вероятно, содержит только URL или путь к файлу.

Перетаскивание изображений из проводника файлов под Windows 7 для меня по крайней мере неработать, но открытие изображения в последней версии Firefox и перетаскивание его на текстовый редактор работает.Попробуйте:)

...