LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 434|回复: 1

请问一下contentsDropEvent中的e如何转换成文件名

[复制链接]
发表于 2004-9-28 12:04:27 | 显示全部楼层 |阅读模式
这是QT手册页中的例子A Directory Browser
下面是这个程序中的一部分,请问contentsDragLeaveEvent( QDragLeaveEvent * )如何把e转换成filename的,在contentsMousePressEvent( QMouseEvent* e )中可以吗?请教,多谢!
[PHP]void DirectoryView::contentsDropEvent( QDropEvent *e )
{
    autoopen_timer->stop();

    if ( !QUriDrag::canDecode(e) ) {
        e->ignore();
        return;
    }

    QListViewItem *item = itemAt( contentsToViewport(e->pos()) );
    if ( item ) {

        QStrList lst;

        QUriDrag::decode( e, lst );

        QString str;

        switch ( e->action() ) {
            case QDropEvent::Copy:
            str = "Copy";
            break;
            case QDropEvent::Move:
            str = "Move";
            e->acceptAction();
            break;
            case QDropEvent:ink:
            str = "Link";
            e->acceptAction();
            break;
            default:
            str = "Unknown";
        }

        str += "\n\n";

        e->accept();

        for ( uint i = 0; i < lst.count(); ++i ) {
            QString filename = lst.at( i );
            str += filename + "\n";
        }
        str += QString( "\nTo\n\n   %1" )
               .arg( fullPath(item) );

        QMessageBox::information( this, "Drop target", str, "Not implemented" );
    } else
        e->ignore();

}
[/PHP]
 楼主| 发表于 2004-9-29 17:56:40 | 显示全部楼层
大家请帮帮忙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表