首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在包含文件的QListWidget中实现拖动?

如何在包含文件的QListWidget中实现拖动?
EN

Stack Overflow用户
提问于 2010-11-28 15:40:00
回答 1查看 1.5K关注 0票数 2

我有一个用文件名填充的QListWidget (不带路径的文件名是项的文本,完整路径在项的工具提示中)。例如,我希望能够将电影文件从我的QListWidget拖动到VLC,VLC应该开始播放它-就像我从文件管理器中拖动它一样。

我试着阅读了关于拖放的文档,但是我不知道该怎么做。我已经将dragEnabled属性设置为true,并将dragDropMode属性设置为DragOnly。现在我可以开始拖拽了,但是如果我拖拽一个列表项到VLC,什么也不会发生(这并不奇怪)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-13 19:43:08

我也想做同样的事情,这就是我想出来的。它可以在Windows上运行,但我还没有在其他平台上测试过。

代码语言:javascript
运行
复制
class CustomListWidget : public QListWidget
{
    public :
        CustomListWidget( QWidget * parent = 0 ) : QListWidget( parent ) {}
    protected :
        QStringList mimeTypes() const
        {
            QStringList qstrList;
            qstrList.append("text/uri-list");
            return qstrList;
        }
        QMimeData * mimeData( const QList<QListWidgetItem *> items ) const
        {
            QMimeData *data = new QMimeData();
            QList< QUrl > urls;
            QUrl url;
            url.setPath( items[ 0 ]->toolTip() );
            urls.append( url );
            data->setUrls( urls );
            return data;
        }
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4295838

复制
相关文章

相似问题

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