嗯,我试验了一下,是这么写的:
#include <QtGui>
#include "DragDialog.h"
/*---------------------------------------------------------------------------*/
DragDialog::DragDialog( void ): QDialog( 0 )
{
// 初始化成员
m_Label = new QLabel( tr( "Nothing dragged." ), this );
setFixedSize( 160, 80 );
}
/*---------------------------------------------------------------------------*/
void DragDialog::dragEnterEvent( QDragEnterEvent *event )
{
if ( event->mimeData( )->hasFormat( "text/uri-list" ) )
event->acceptProposedAction( );
}
/*---------------------------------------------------------------------------*/
void DragDialog::dropEvent( QDropEvent* event )
{
//QList<QUrl> urls = event->mimeData( )->urls( );
//m_Label->setText( urls.first( ).toLocalFile( ) );
//if ( urls.isEmpty( ) ) return;
//m_Label->setText( urls.first( ).toLocalFile( ) );
//if ( event->mimeData( )->hasText( ) )
//{
m_Label->setText( event->mimeData( )->text( ) );
//}
}
但是想拖一个makefile进去,可标签总是显示“Nothing dragged.”。这是怎么回事呢?