Opened 4 years ago
Closed 4 years ago
#6335 closed defect (fixed)
Toolshed install of bundles broken with Qt 6
| Reported by: | Owned by: | Zach Pearson | |
|---|---|---|---|
| Priority: | normal | Milestone: | 1.4 |
| Component: | Window Toolkit | Version: | |
| Keywords: | Cc: | ||
| 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.dev202203080653 (2022-03-08 06:53:52 UTC)
Description
Tried to install the RealSense bundle in Qt6 ChimeraX. Pressing the Install button on the Toolshed page for RealSense generated this error message.
Log:
You can double click a model's Name or ID in the model panel to edit those
fields
UCSF ChimeraX version: 1.4.dev202203080653 (2022-03-08)
© 2016-2022 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
> preset cartoons/nucleotides cylinders/stubs
Using preset: Cartoons/Nucleotides / Cylinders/Stubs
Changed 36888 atom styles
Preset expands to these ChimeraX commands:
show nucleic
hide protein|solvent|H
surf hide
style (protein|nucleic|solvent) & @@draw_mode=0 stick
cartoon
cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
cartoon style ~(nucleic|strand) x round
cartoon style (nucleic|strand) x rect
cartoon style protein modeh tube rad 2 sides 24 thick 0.6
cartoon style nucleic x round width 1.6 thick 1.6
nucleotides stubs
VR mode select
> select /A:395
11 atoms, 10 bonds, 1 residue, 1 model selected
> select up
108 atoms, 107 bonds, 15 residues, 1 model selected
> select up
1767 atoms, 1796 bonds, 223 residues, 1 model selected
VR mode translate selected atoms
> show sel atoms
> hide sel cartoons
> select up
4611 atoms, 4689 bonds, 588 residues, 1 model selected
> hide sel cartoons
> show sel atoms
VR mode select
> select clear
> hide cartoons
> select /A
4611 atoms, 4689 bonds, 2 pseudobonds, 588 residues, 2 models selected
> select clear
> show atoms
> select /A
4611 atoms, 4689 bonds, 2 pseudobonds, 588 residues, 2 models selected
> select /C:700@C
1 atom, 1 residue, 1 model selected
> select /B:347@CD2
1 atom, 1 residue, 1 model selected
> select up
11 atoms, 11 bonds, 1 residue, 1 model selected
> select up
134 atoms, 135 bonds, 18 residues, 1 model selected
> select clear
> select up
Nothing selected
> select up
Nothing selected
> select up
Nothing selected
> select /B:85@CA
1 atom, 1 residue, 1 model selected
> select up
5 atoms, 4 bonds, 1 residue, 1 model selected
> select up
85 atoms, 85 bonds, 13 residues, 1 model selected
> select up
1723 atoms, 1746 bonds, 225 residues, 1 model selected
> select up
1742 atoms, 1765 bonds, 228 residues, 1 model selected
> select up
3490 atoms, 3542 bonds, 448 residues, 1 model selected
> select up
4611 atoms, 4689 bonds, 588 residues, 1 model selected
> realsense on
realsense is provided by the uninstalled bundle RealSense versions 1.2 – 1.8
> vr false
> toolshed show
Downloading bundle ChimeraX_RealSense-1.8-cp39-cp39-win_amd64.whl
Traceback (most recent call last):
File "C:\Program Files\ChimeraX-Qt6-Mar-8-2022\bin\lib\site-
packages\chimerax\help_viewer\tool.py", line 359, in download_requested
item.downloadProgress.connect(self.download_progress)
AttributeError: 'QWebEngineDownloadRequest' object has no attribute
'downloadProgress'
AttributeError: 'QWebEngineDownloadRequest' object has no attribute
'downloadProgress'
File "C:\Program Files\ChimeraX-Qt6-Mar-8-2022\bin\lib\site-
packages\chimerax\help_viewer\tool.py", line 359, in download_requested
item.downloadProgress.connect(self.download_progress)
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.6.0
charset-normalizer: 2.0.12
ChimeraX-AddCharge: 1.2.3
ChimeraX-AddH: 2.1.11
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
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.36.2
ChimeraX-AtomicLibrary: 6.1.1
ChimeraX-AtomSearch: 2.0.1
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.1
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.4.dev202203080653
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.7
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.5.2
ChimeraX-ModelPanel: 1.3.2
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.6
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.7
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.8
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.2
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.1.2
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.2
kiwisolver: 1.3.2
line-profiler: 3.4.0
lxml: 4.7.1
lz4: 3.1.10
MarkupSafe: 2.1.0
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.28
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 (5)
comment:1 by , 4 years ago
| Component: | Unassigned → Window Toolkit |
|---|---|
| Milestone: | → 1.4 |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Toolshed install of bundles broken with Qt 6 |
comment:2 by , 4 years ago
follow-up: 3 comment:3 by , 4 years ago
I'd suggest just having a minimal amount of separate Qt 5 and Qt 6 code in the help viewer. from Qt import using_qt5, using_qt6 if using_qt5: # Setup Qt 5 download callback elif using_qt6: # Setup Qt 6 download callback. After we release our last Qt 5 ChimeraX with the 1.4 release it will be easy to find the "using_qt5" parts of the code and rip them out. This is the approach I took yesterday in fixing the webcam command where Qt changed the video APIs. I would not try to do tricky things in the Qt shim.
comment:4 by , 4 years ago
I think I'll go with your suggestion; it seems both even simpler and less prone to breakage than what I was getting at. Thank you!
comment:5 by , 4 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Should be fixed by this commit. Additionally, I modified QtWebEngineCore in the shim to promote its enums in this commit using the same pattern from QtGui. Hopefully this does not have knock-on effects.
Note:
See TracTickets
for help on using tickets.
QWebEngineDownloadItem from Qt5 has moved to QWebEngineDownloadRequest in Qt6. The signal being referenced, downloadProgress, has been split into two signals that independently report one of the two values downloadProgress reported together: receivedBytesChanged and totalBytesChanged.
Since we want backwards compatibility with Qt5 for now, we could potentially fix this in the shim. We can add the signal back to QWebEngineDownloadRequest right after we do the star import from PyQt6.QtWebEngineCore, then hack it so that receivedBytesChanged or totalBytesChanged triggers downloadProgress, but it might be simpler to do a compatibility breaking change in the help_viewer bundle. We might build the Qt6 build of ChimeraX from a Qt6-specific branch getting synchronized to develop nightly plus Qt6 specific patches, instead of applying the Qt6 patch to develop before building it.