Restore override cursor not for entire application

1.4k Views Asked by At

I have a large application with many widgets and windows.

At some moment I restore the cursor for entire application. I need to keep it "customised" (as it was) for one frame. I set it for the frame to be "customised" again, but it still restores for 1 millisecond and it is noticeable.

So the states of my cursor are: "Customised" - "Normal" - "Customised". How can I skip changing cursor for one(current) frame? But restore it for all other windows (so it is normal again)?

1

There are 1 best solutions below

0
Jablonski On

Restore override cursor for all application, but set cursor to your frame.

Use setCursor() method.

http://qt-project.org/doc/qt-4.8/qwidget.html#cursor-prop

As documentation said about setOverrideCursor():

This cursor will be displayed in all the application's widgets until restoreOverrideCursor() or another setOverrideCursor() is called.

http://qt-project.org/doc/qt-4.8/qapplication.html#setOverrideCursor

So you can't restore cursor for all widgets instead of one, you should use setCursor() method.