QT下降事件不发射
Qt Drop event not firing
drop事件不会发生,尽管``setAcceptdrops''已被调用。以下代码基于使用QT 5.12.0创建的小部件项目。添加dropevent()函数后,CPP文件变为
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug> // added
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setAcceptDrops(true); // added
}
MainWindow::~MainWindow()
{
delete ui;
}
// added; in .h it is in `protected:' section
void MainWindow::dropEvent(QDropEvent *event)
{
qDebug() << "dropEvent";
}
我想念什么?我一直在挣扎几天...谢谢。
您必须覆盖dragenterevent方法,该方法允许您通过源,源,操作类型滤除数据类型。在下面的示例中,一切都被接受:
*。h
// ...
protected:
void dropEvent(QDropEvent *event) override;
void dragEnterEvent(QDragEnterEvent *event) override;
// ...
*。cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setAcceptDrops(true); // added
}
// ...
void MainWindow::dropEvent(QDropEvent *event)
{
qDebug() << "dropEvent" << event;
}
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
event->acceptProposedAction();
}
有关更多详细信息,我建议您阅读Drag and Drop
。
我遇到了相同的问题,并找出了导致它的原因。就我而言,这是因为我试图将文件拖到QTEXTEDIT小部件而不是MainWindow上。事实证明,由于拖动和dropevent功能是为mainwindow定义的,而不是qtextedit。
相关文章:
- Android NDK传感器向事件队列报告奇怪的间隔
- 从文本文件中读取时钟时间和事件时间并进行处理
- WMI检测进程创建事件-c++
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 处理闪烁窗口事件
- C++Builder中的OnClick事件签名存在问题
- 跟踪滚动条上的鼠标事件
- 什么是事件表 (wxWidgets)?
- 如何在 MFCaptureEngine 中获取"Camera removed"事件
- 给定顺序中的事件处理
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 在 C++/CLI 中将 .NET 事件从一个 DLL 引发到另一个 DLL
- 如何创建事件驱动的 SDL2 应用程序
- Windows 进程间同步类似事件?
- 如何从C++端挂接到 QML 项的 onClick 事件
- QTimer超时信号在每个超时事件中多次发射
- FireMonkey自定义控制点击事件在设计师中发射
- QT下降事件不发射
- Nodejs C++事件发射器.加载项错误.MakeCallback中没有函数.method=发出中止陷阱:6
- 通过事件发射调用JS函数