Opened 4 years ago
Closed 4 years ago
#6086 closed defect (fixed)
VR menus broken with Qt 6
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | VR | Version: | |
| Keywords: | Cc: | Zach Pearson | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.22000
ChimeraX Version: 1.4.dev202202040724 (2022-02-04 07:24:35 UTC)
Description
Clicked on Presets menu in VR with Qt 6 ChimeraX.
Log:
UCSF ChimeraX version: 1.4.dev202202040724 (2022-02-04)
© 2016-2021 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 7knq format mmcif fromDatabase pdb
7knq title:
SARM1 Octamer [more info...]
Chain information for 7knq #1
---
Chain | Description | UniProt
A B C D E F G H | NAD(+) hydrolase SARM1 | SARM1_HUMAN
> vr true
> lighting simple
started SteamVR rendering
> lighting soft
> show cartoons
> hide atoms
> color bypolymer
Traceback (most recent call last):
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\core\triggerset.py", line 134, in invoke
return self._func(self._name, data)
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 802, in _next_frame
self.process_controller_events()
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 830, in process_controller_events
self.process_controller_buttons()
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 857, in process_controller_buttons
hc.process_event(e)
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 2671, in process_event
if ui.process_hand_controller_button_event(self, b, pressed, released):
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 1723, in
process_hand_controller_button_event
panel.press(window_xy)
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 2243, in press
return self._click('press', window_xy)
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 2254, in _click
w = self._post_mouse_event(type, window_xy)
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 2301, in _post_mouse_event
me = QMouseEvent(et, pos, button, buttons, Qt.NoModifier)
TypeError: arguments did not match any overloaded call:
QMouseEvent(QEvent.Type, QPointF, Qt.MouseButton, Qt.MouseButton,
Qt.KeyboardModifier, device: QPointingDevice =
QPointingDevice.primaryPointingDevice()): argument 2 has unexpected type
'QPoint'
QMouseEvent(QEvent.Type, QPointF, QPointF, Qt.MouseButton, Qt.MouseButton,
Qt.KeyboardModifier, device: QPointingDevice =
QPointingDevice.primaryPointingDevice()): argument 2 has unexpected type
'QPoint'
QMouseEvent(QEvent.Type, QPointF, QPointF, QPointF, Qt.MouseButton,
Qt.MouseButton, Qt.KeyboardModifier, device: QPointingDevice =
QPointingDevice.primaryPointingDevice()): argument 2 has unexpected type
'QPoint'
Error processing trigger "new frame":
TypeError: arguments did not match any overloaded call:
QMouseEvent(QEvent.Type, QPointF, Qt.MouseButton, Qt.MouseButton,
Qt.KeyboardModifier, device: QPointingDevice =
QPointingDevice.primaryPointingDevice()): argument 2 has unexpected type
'QPoint'
QMouseEvent(QEvent.Type, QPointF, QPointF, Qt.MouseButton, Qt.MouseButton,
Qt.KeyboardModifier, device: QPointingDevice =
QPointingDevice.primaryPointingDevice()): argument 2 has unexpected type
'QPoint'
QMouseEvent(QEvent.Type, QPointF, QPointF, QPointF, Qt.MouseButton,
Qt.MouseButton, Qt.KeyboardModifier, device: QPointingDevice =
QPointingDevice.primaryPointingDevice()): argument 2 has unexpected type
'QPoint'
File "C:\Program Files\ChimeraX-qt6-Feb-4-2022\bin\lib\site-
packages\chimerax\vive\vr.py", line 2301, in _post_mouse_event
me = QMouseEvent(et, pos, button, buttons, Qt.NoModifier)
See log for complete Python traceback.
OpenGL version: 3.3.0 NVIDIA 472.08
OpenGL renderer: NVIDIA GeForce RTX 3090/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Locale: en_US.cp1252
Qt version: PyQt6 6.2.3, Qt 6.2.3
Qt platform: windows
Manufacturer: HP
Model: OMEN 30L Desktop GT13-0xxx
OS: Microsoft Windows 11 Pro (Build 22000)
Memory: 68,576,903,168
MaxProcessMemory: 137,438,953,344
CPU: 20 Intel(R) Core(TM) i9-10850K CPU @ 3.60GHz
OSLanguage: en-US
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.9.1
backcall: 0.2.0
blockdiag: 3.0.0
certifi: 2021.10.8
cftime: 1.5.2
charset-normalizer: 2.0.11
ChimeraX-AddCharge: 1.2.3
ChimeraX-AddH: 2.1.11
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.2.3
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.35.1
ChimeraX-AtomicLibrary: 5.0
ChimeraX-AtomSearch: 2.0
ChimeraX-AtomSearchLibrary: 1.0
ChimeraX-AxesPlanes: 2.1
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.0
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.6.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.2
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.2
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.1
ChimeraX-CommandLine: 1.2
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.4.dev202202040724
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1.5
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.1
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1
ChimeraX-Hbonds: 2.1.2
ChimeraX-Help: 1.2
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ItemsInspection: 1.0
ChimeraX-Label: 1.1
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 2.0.6
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.6
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.5.1
ChimeraX-ModelPanel: 1.3.1
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.2
ChimeraX-OpenCommand: 1.8
ChimeraX-PDB: 2.6.5
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.4.6
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.1
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.7.6
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.0.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.16
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.1
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0
ChimeraX-WebServices: 1.0
ChimeraX-Zone: 1.0
colorama: 0.4.4
comtypes: 1.1.10
cxservices: 1.1
cycler: 0.11.0
Cython: 0.29.26
debugpy: 1.5.1
decorator: 5.1.1
docutils: 0.17.1
entrypoints: 0.4
filelock: 3.4.2
fonttools: 4.29.1
funcparserlib: 1.0.0a0
grako: 3.16.5
h5py: 3.6.0
html2text: 2020.1.16
idna: 3.3
ihm: 0.26
imagecodecs: 2021.11.20
imagesize: 1.3.0
ipykernel: 6.6.1
ipython: 7.31.1
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.0.3
jupyter-client: 7.1.0
jupyter-core: 4.9.1
kiwisolver: 1.3.2
line-profiler: 3.4.0
lxml: 4.7.1
lz4: 3.1.10
MarkupSafe: 2.0.1
matplotlib: 3.5.1
matplotlib-inline: 0.1.3
msgpack: 1.0.3
nest-asyncio: 1.5.4
netCDF4: 1.5.8
networkx: 2.6.3
numexpr: 2.8.1
numpy: 1.22.1
openvr: 1.16.802
packaging: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pickleshare: 0.7.5
Pillow: 9.0.0
pip: 21.3.1
pkginfo: 1.8.2
prompt-toolkit: 3.0.26
psutil: 5.9.0
pycollada: 0.7.2
pydicom: 2.2.2
Pygments: 2.11.2
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.7
PyQt6-commercial: 6.2.3
PyQt6-sip: 13.2.0
PyQt6-WebEngine-commercial: 6.2.1
python-dateutil: 2.8.2
pytz: 2021.3
pywin32: 303
pyzmq: 22.3.0
qtconsole: 5.2.2
QtPy: 2.0.1
RandomWords: 0.3.0
requests: 2.27.1
scipy: 1.7.3
setuptools: 59.8.0
sfftk-rw: 0.7.1
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 4.3.2
sphinx-autodoc-typehints: 1.15.2
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
suds-community: 1.0.0
tables: 3.7.0
tifffile: 2021.11.2
tinyarray: 1.2.4
tornado: 6.1
traitlets: 5.1.1
urllib3: 1.26.8
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.37.1
wheel-filename: 1.3.0
WMI: 1.5.1
Change History (7)
comment:1 by , 4 years ago
| Component: | Unassigned → VR |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → VR menus broken with Qt 6 |
comment:2 by , 4 years ago
comment:3 by , 4 years ago
| Cc: | added |
|---|---|
| Owner: | changed from to |
follow-up: 4 comment:4 by , 4 years ago
This may need to be fixed by me because it is internals of the VR code and will need VR testing.
comment:5 by , 4 years ago
| Cc: | added; removed |
|---|---|
| Owner: | changed from to |
I see; don't let me step on your toes. From the traceback it looked like it was just going to be updating one of those new enums in Qt6, but I can reassign the ticket back to you.
follow-up: 6 comment:6 by , 4 years ago
The QMouseEvent constructor no longer has the version with arguments that the VR code is using. It needs another mouse position in global coordinates. But it wants float rather than integer screen positions and the VR code is using the old style integer, so several places should be updated to use float if possible and if Qt 5 supports. Not too difficult but changes in several places will require a number of different tests in VR.
comment:7 by , 4 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
Qt6 QMouseEvent constructors require a local widget position and a screen position. Also had to fix QPoint vs QPointF types. New code tested in Qt5 and Qt6.
Note:
See TracTickets
for help on using tickets.
The menus worked with ChimeraX 1.3 and Qt 5 on same machine. Machine is Windows 11.