• 4066阅读
  • 6回复

文件拖放时 没有显示文本内容 而是直接显示路径 求解决 [复制链接]

上一主题 下一主题
离线seffrui
 

只看楼主 倒序阅读 楼主  发表于: 2014-01-13
void MainWindow::dropEvent(QDropEvent *event)
{
    QList<QUrl> list;
    const QMimeData *t=event->mimeData();

    if(t->hasUrls())
         list=t->urls();
    QString name=list.at(0).toLocalFile();
    if(!name.isEmpty())
    {
        QFile *file=new QFile(name);
        QTextStream in(file);
        edit->setText(in.readAll());
    }
}
每次将文件托放进去的时候 不是显示文本内容 而是显示的文本的路径 为什么
离线dbzhang800

只看该作者 1楼 发表于: 2014-01-13
因为你这个函数没有被执行,执行的是其他控件默认的dropEvent函数,比如说QTextEdit 等
离线seffrui

只看该作者 2楼 发表于: 2014-01-13
回 1楼(dbzhang800) 的帖子
那该怎么解决呢
离线seffrui

只看该作者 3楼 发表于: 2014-01-14
...
离线dbzhang800

只看该作者 4楼 发表于: 2014-01-14
w.setAcceptDrops(false);  禁用你不需要的
离线worldsing

只看该作者 5楼 发表于: 2014-01-14
g关注
离线听雨

只看该作者 6楼 发表于: 2014-01-15
QFile *file=new QFile(name);
file->open(QIODevice::ReadOnly); // 少了这一句,文件必须被打开才能读取数据
快速回复
限100 字节
 
上一个 下一个