setCursor() stops working after interacting with QMessageBox using space key
-
I really appreciate you taking the time to look into this issue!
I have submitted the bug report to Qt's bug tracker and included the minimal example directly in the report. Here is the link for reference: QTBUG-135154
-
Thanks !
Please add a tar file with your project to the report. That way it's easier for people to work on this.
-
I am encountering similar problems with Linux Mint. I am new to Mint, new to Qt, my C++ is very rusty, and I don't do much GUI programming. I am surprised to find a problem that apparently isn't my fault.
I am porting a simple painting program (Stracian) from a Windows version I wrote 20-odd years ago. It uses a tablet. I started with the Tablet example (Qt/Examples/Qt-6.10.1/widgets/widgets).
Tablet has a problem like "the hover" problem. Moving the cursor slowly into the window from top, bottom, or right, does not change the cursor. Moving in quickly, or from the left works OK. Tablet does not have the child-dialog problem. In fact, you can restore the correct cursor by opening and closing the About dialog.
Stracian does not have the hover problem, but it does have the child-dialog problem. I can fix it by passing a null pointer as parent to the dialog, but I expect that has negative consequences elsewhere.
Tablet uses a QPixmap, Stracian does not. I have my own data structure for the image, which I convert to QImages for painting the window. I don't know if that's relevant, but I can't see other obvious differences between Tablet and Stracian.
I couldn't build the QGraphicsBug example:
[cmake] Running /home/graham/Qt/Tools/CMake/bin/cmake -S /home/graham/Desktop/QGraphicsBug -B /home/graham/Desktop/QGraphicsBug/build/Desktop-Debug2 in /home/graham/Desktop/QGraphicsBug/build/Desktop-Debug2.
[cmake] -- Qt Creator: QT_QMAKE_EXECUTABLE was not set. Qt MaintenanceTool cannot be used to install missing Qt modules that you specify in find_package(). To disable this message set QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER to ON.
[cmake] -- Configuring incomplete, errors occurred!
[cmake] CMake Error at CMakeLists.txt:21 (find_package):
[cmake] By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
[cmake] asked CMake to find a package configuration file provided by "Qt6", but
[cmake] CMake did not find one.
[cmake]
[cmake] Could not find a package configuration file provided by "Qt6" with any of
[cmake] the following names:
[cmake]
[cmake] Qt6Config.cmake
[cmake] qt6-config.cmake
.... -
I am encountering similar problems with Linux Mint. I am new to Mint, new to Qt, my C++ is very rusty, and I don't do much GUI programming. I am surprised to find a problem that apparently isn't my fault.
I am porting a simple painting program (Stracian) from a Windows version I wrote 20-odd years ago. It uses a tablet. I started with the Tablet example (Qt/Examples/Qt-6.10.1/widgets/widgets).
Tablet has a problem like "the hover" problem. Moving the cursor slowly into the window from top, bottom, or right, does not change the cursor. Moving in quickly, or from the left works OK. Tablet does not have the child-dialog problem. In fact, you can restore the correct cursor by opening and closing the About dialog.
Stracian does not have the hover problem, but it does have the child-dialog problem. I can fix it by passing a null pointer as parent to the dialog, but I expect that has negative consequences elsewhere.
Tablet uses a QPixmap, Stracian does not. I have my own data structure for the image, which I convert to QImages for painting the window. I don't know if that's relevant, but I can't see other obvious differences between Tablet and Stracian.
I couldn't build the QGraphicsBug example:
[cmake] Running /home/graham/Qt/Tools/CMake/bin/cmake -S /home/graham/Desktop/QGraphicsBug -B /home/graham/Desktop/QGraphicsBug/build/Desktop-Debug2 in /home/graham/Desktop/QGraphicsBug/build/Desktop-Debug2.
[cmake] -- Qt Creator: QT_QMAKE_EXECUTABLE was not set. Qt MaintenanceTool cannot be used to install missing Qt modules that you specify in find_package(). To disable this message set QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER to ON.
[cmake] -- Configuring incomplete, errors occurred!
[cmake] CMake Error at CMakeLists.txt:21 (find_package):
[cmake] By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
[cmake] asked CMake to find a package configuration file provided by "Qt6", but
[cmake] CMake did not find one.
[cmake]
[cmake] Could not find a package configuration file provided by "Qt6" with any of
[cmake] the following names:
[cmake]
[cmake] Qt6Config.cmake
[cmake] qt6-config.cmake
....@qtGraham Hi and welcome to devnet,
The error message is pretty strange...
One thing you can test is to build the example on the command line using theqt-cmakewrapper found in your Qt 6 installation. That should make the build easier to do. -
I was able to build QGraphicsBug by starting a new project and adding the files. It crashed when I ran it, SEGV in ImageViewer::setupScene() because imageItem was not initialized to 0. When I fixed that it ran OK, and the cursors behaved properly. I'm back to thinking my problem is my fault.
-
I have made a minimal example for my problem. The project has 5 files in the same folder: two images for cursors, and resfile.qrc, main.cpp, CMakeLists.txt. Link below..
To show the problem, put cursor in window, use F2 and F3 to change the cursor. Press F1 to open the dialog, click on label, press escape to close dialog. F2 and F3 no longer work.
As I said, I'm new to QT Creator and my C++ is very rusty, so I expect I've done something silly.
-
You seem to be in the case described in QTBUG-135203.
-
You seem to be in the case described in QTBUG-135203.
@SGaist Well that's how it seemed to me originally, though I cannot reproduce Kevin's issues (at least on Linux Mint) and Christian Ehrlicher couldn't reproduce them on Windows. OTOH mine occurs with Linux Mint and Win11 too. I can work around it.
I have tried to post the source code directly but my message gets flagged as spam.
-
@SGaist Well that's how it seemed to me originally, though I cannot reproduce Kevin's issues (at least on Linux Mint) and Christian Ehrlicher couldn't reproduce them on Windows. OTOH mine occurs with Linux Mint and Win11 too. I can work around it.
I have tried to post the source code directly but my message gets flagged as spam.