还有一种方法,通过获取到的文件名,到注册表中找对应的参数值,
QList<QUrl> urls = e->mimeData()->urls(); QStringList slUrls; for (int i = 0; i < urls.size(); i++) { slUrls << urls[i].toLocalFile(); } 看看这个后面有没有参数啊,我只知道第一个字符串是名称,后面的没有观察
你快捷方式是什么意思
你可以重载keyEvent,将最近一次快捷键存放到一个缓冲区,就行了
1.构造函数添加 setAcceptDrops(true); 2.重载几个函数 void CMainWindow::dropEvent(QDropEvent *e) { if (e->mimeData()->hasUrls()) { QList<QUrl> urls = e->mimeData()->urls(); QStringList slUrls; for (int i = 0; i < urls.size(); i++) { slUrls << urls[i].toLocalFile(); } e->accept(); const QString &fileName = slUrls.at(0); if (!fileName.isEmpty()) { //处理拖放的文件的名称 } } else { QWidget::dropEvent(e); } } void CMainWindow::dragMoveEvent(QDragMoveEvent *e) { if (e->mimeData()->hasUrls()) { //e->acceptProposedAction(); e->accept(); } else { QWidget::dragMoveEvent(e); } } void CMainWindow::dragEnterEvent(QDragEnterEvent *e) { if (e->mimeData()->hasUrls()) { e->accept(); } else { QWidget::dragEnterEvent(e); } } 上面是我处理拖放文件的代码
16,816
社区成员
26,684
社区内容
加载中
试试用AI创作助手写篇文章吧