【发布时间】:2012-11-09 19:45:51
【问题描述】:
我生成了一个执行冗长操作的进程,并且我想给出正在发生的事情的视觉反馈,因此我想将光标更改为忙,并在收到QProcess::finished 信号时恢复它。
【问题讨论】:
标签: c++ qt mouse-cursor
我生成了一个执行冗长操作的进程,并且我想给出正在发生的事情的视觉反馈,因此我想将光标更改为忙,并在收到QProcess::finished 信号时恢复它。
【问题讨论】:
标签: c++ qt mouse-cursor
使用它来设置光标在进程开始时等待:
this->setCursor(Qt::WaitCursor);
这可以使光标恢复正常(把它放在 QProcess::finished 的槽中)
this->setCursor(Qt::ArrowCursor);
【讨论】:
unsetCursor()。它将继承父光标,这是显式设置之前的行为:doc.qt.io/qt-5/qwidget.html#cursor-prop
Qsiris 解决方案是“widget wide”。如果要更改整个应用程序的光标,请使用
QApplication::setOverrideCursor(Qt::WaitCursor);
和
QApplication::restoreOverrideCursor();
注意:正如@Ehsan Khodarahmi 指出的,在触发下一个QT 事件或手动调用QApplication::processEvents() 之前,光标不会改变。
【讨论】:
QApplication::processEvents()之前,光标不会改变
setEnabled(false)。