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.