Opened 4 years ago
Closed 4 years ago
#6362 closed defect (not a bug)
uic not in Qt shim
| Reported by: | Tristan Croll | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Window Toolkit | Version: | |
| Keywords: | Cc: | Tom Goddard | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.19041
ChimeraX Version: 1.4.dev202203110419 (2022-03-11 04:19:32 UTC)
Description
I still have one import that I have to do via `from PyQt6 import ...` because it's not available via the Qt shim. It's the `uic` module, used to create the GUI from a Qt Designer .ui file. See below... not sure if the equivalent is available from PySide2?
from PyQt6 import uic
uifile = os.path.join(basedir, 'ui', 'IsoldeFrame.ui')
from Qt import QtWidgets, QtGui, QtCore
#from . import isoldewidget
import os
QtCore.QDir.addSearchPath('icons', os.path.join(os.path.abspath(os.path.dirname(__file__)), 'resources'))
#from .resources import resources_rc
mw = self.mainwin = QtWidgets.QFrame(parent=parent)
iw = self.iw = uic.loadUi(uifile, mw)
OpenGL version: 3.3.0 NVIDIA 497.29
OpenGL renderer: NVIDIA GeForce RTX 2080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Locale: en_GB.cp1252
Qt version: PyQt6 6.2.3, Qt 6.2.3
Qt platform: windows
Manufacturer: Notebook
Model: P7xxTM1
OS: Microsoft Windows 10 Education (Build 19041)
Memory: 68,654,501,888
MaxProcessMemory: 137,438,953,344
CPU: 16 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
OSLanguage: en-GB
Installed Packages:
-himerax-isolde: 1.4.dev0
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-Clipper: 0.18.0
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.dev202203110419
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-ISOLDE: 1.4.dev0
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.3
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.8
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.30.0
funcparserlib: 1.0.0a0
grako: 3.16.5
h5py: 3.6.0
html2text: 2020.1.16
idna: 3.3
igraph: 0.9.9
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
texttable: 1.6.4
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 → Window Toolkit |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → uic not in Qt shim |
comment:2 by , 4 years ago
comment:3 by , 4 years ago
| Cc: | added |
|---|---|
| Owner: | changed from to |
Let us know if you are able to continue using Qt uic (User Interface Compiler) for ISOLDE. If not, then I am inclined not to add it to our Qt shim. But if you do wish to continue using it we can add it to the shim easily. For now you can see if you can get it to work using "from PyQt6 import uic".
We will never be using PySide2 which is Qt 5. But we may well switch to PySide6 in the future since that would avoid paying thousands of dollars for the PyQt6 commercial license. But ChimeraX 1.4 will be using PyQt6 unless we find some show-stopper Qt 6 bugs which would make us fall back to PyQt5.
Zach is handling our update from Qt 5 to Qt 6 so I have reassigned this ticket to him.
comment:4 by , 4 years ago
| Owner: | changed from to |
|---|
Dam auto-correct keeps deciding to change Zach's user name from zjp to zip! I need to turn off auto-correct on this new laptop.
comment:5 by , 4 years ago
| Status: | assigned → feedback |
|---|
Changed to awaiting user feedback pending Tristan's report on whether he'll continue using the uic module.
follow-up: 6 comment:6 by , 4 years ago
Most likely not... I found a slightly hacky workaround at https://github.com/domarm-comat/pyqt6rc, but (a) that involves pre-converting the .ui file to Python a la pyuic and hence won't use the internal uic module, and (b) I'm not really keen to use it. About time I finally committed myself to properly cleaning up the GUI code.
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 17 March 2022 17:34
Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>; zjp@cgl.ucsf.edu <zjp@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #6362: uic not in Qt shim
#6362: uic not in Qt shim
-------------------------------------+--------------------------
Reporter: Tristan Croll | Owner: Zach Pearson
Type: defect | Status: feedback
Priority: normal | Milestone:
Component: Window Toolkit | Version:
Resolution: | Keywords:
Blocked By: | Blocking:
Notify when closed: | Platform: all
Project: ChimeraX |
-------------------------------------+--------------------------
Changes (by Zach Pearson):
* status: assigned => feedback
Comment:
Changed to awaiting user feedback pending Tristan's report on whether
he'll continue using the {{{uic}}} module.
--
Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/6362#comment:5>
ChimeraX <https://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker
comment:7 by , 4 years ago
| Resolution: | → not a bug |
|---|---|
| Status: | feedback → closed |
OK, closing for now but feel free to send me an email if you need me to add it to the shim.
... although I may end up having to stop using the
uicapproach anyway (not sure yet). Seems thatpyrcc(the module taking the place of Qt'srcc, compiling all the images registered in Qt Designer into a single resource file) is no longer being supported, and has been removed from PyQt6. The GUI's kinda-sorta loading, but all the icons are blank. Various other things going wrong... the pre-filled values in some of the drop-down menus seem to be ignored.I've known for quite some time that relying on Qt Designer for ISOLDE's GUI was a dead end - was useful for prototyping, but it's gotten ever more unwieldy. Guess this should be my wake-up call to finally do it properly.