当添加到现有应用程序时,QDialog或QMessageBox显示Qt::BusyCursor



我是qt的新手,有一个无法理解的问题。我已经创建了自己的QDialog,现在我想将它添加到现有的应用程序中。

在QT创建者中,一切都很好,但当我添加自定义对话甚至消息框中的现有代码,发生了一些奇怪的事情。

对话效果不错,但当我悬停在对话的主要区域时图标变为Qt::BusyCursor繁忙等待图标。

一开始我认为这一定是线程问题,但后来.exec()不应该阻止吗?此外,当我将鼠标悬停在标题栏或消息框/对话上时,它似乎很好,即它显示Qt::ArrowCursor,在这两种情况下,对话的功能也很好。

我已经尝试在两者上设置.setCursor(),但它仍然不起作用,仍然是一个繁忙的图标。

有人能给我一些提示吗?我可以看看什么来进一步调查这件事。

非常感谢!!!

我可以建议您使用

QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));

并用重置

QApplication::restoreOverrideCursor();. 

最新更新