首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTextEdit不工作

QTextEdit不工作
EN

Stack Overflow用户
提问于 2012-01-30 08:23:19
回答 1查看 682关注 0票数 1

为什么在此QTextEdit上拖放图片不起作用?我什么都试过了。

下面是TextEdit类:

代码语言:javascript
复制
 //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");
    }
}
};

上下文上下文

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-30 09:54:38

这取决于您从哪个应用程序中拖动图像,以及该应用程序决定在操作中包含哪些数据。如果它对您不起作用,那是因为您正在删除的内容不包含图像数据,可能只包含URL或文件路径。

至少对我来说,在Windows7下从文件资源管理器中拖动图像是不起作用的,但在最新版本的Firefox中打开图像并将其拖动到文本编辑上是可行的。尝试一下:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9058092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档