【发布时间】:2014-09-02 22:30:11
【问题描述】:
我正在使用 Qt for C++ 并且有一个 dropEvent 可以打开一个对话框。但是,当对话框打开时,鼠标光标会保留放置光标,而不是返回到通用默认光标。这是一种奇怪的行为,尤其是在单击对话框上的按钮时。下面是我的 dropEvent 代码的大致轮廓。
MyClass::dropEvent(QDropEvent *event)
{
//do some stuff
event->accept();
MyDialog::runDialog(arg1, arg2, arg3);
}
MyDialog::runDialog(arg1, arg2, arg3)
{
MyDialog dlg(arg1, arg2, arg3);
if(dlg.exec() == QDialog::Accepted)
{
//do some stuff
}
}
注意:很遗憾,我还不能发布游标的图片,因为我没有足够的代表。
【问题讨论】:
-
我相信你应该调用 event->acceptAction();而不是 event->accept();
-
不,Qt 允许 event->accept() 或 event->acceptProposedAction();在这种情况下 event->accept() 是正确的选项。
标签: c++ drag-and-drop qt4