QT学习_QT实现拖拽功能
Posted Leslie X徐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT学习_QT实现拖拽功能相关的知识,希望对你有一定的参考价值。
QT实现拖拽功能
重写两个虚函数
void dragEnterEvent(QDragEnterEvent *event);
void dropEvent(QDropEvent *event);
例子
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
if(event->mimeData()->hasUrls()){
//若是文件路径则允许拖拽
event->acceptProposedAction();
}
}
void MainWindow::dropEvent(QDropEvent *event)
{
QList<QUrl> urls = event->mimeData()->urls();
if(urls.count()>0){
QString fileName = urls.first().toLocalFile();
handleLogFile(fileName);
}
}
拖拽属性的开启和关闭
可以设置属性来开启关闭,也可以使用函数setAcceptDrops设置
//关闭文本框的拖拽属性,开启窗口的拖拽属性
ui->plainTextEdit->setAttribute(Qt::WA_AcceptDrops,false);
this->setAcceptDrops(true);
以上是关于QT学习_QT实现拖拽功能的主要内容,如果未能解决你的问题,请参考以下文章