Opened 3 weeks ago

Closed 11 days ago

#20548 closed defect (fixed)

Qt 6.11: saving image while floating windows break main window resize

Reported by: Tristan Croll Owned by: Zach Pearson
Priority: normal Milestone:
Component: Window Toolkit Version:
Keywords: Cc: chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.26200
ChimeraX Version: 1.13.dev202606240437 (2026-06-24 04:37:46 UTC)
Description
Looks like a Qt bug in 6.11: if you have any floating ToolWindow, then saving an image breaks resizing of the main window (you can resize the window itself, but the contents don't respond). 

Log:
> clipper init

> cofr centerOfView showPivot true

> camera ortho

> lighting simple

> isolde shorthand
    
    
    Initialising ISOLDE-specific command aliases:
    Alias	Equivalent full command
    -------------------------------------------------
    st	isolde step {arguments}
    aw	isolde add water {arguments}
    awsf	isolde add water {arguments} sim false
    al	isolde add ligand {arguments}
    aa	isolde add aa $1 sel {arguments}
    ht	isolde mod his sel {arguments}
    so	setattr sel atoms occupancy {arguments}
    ab	isolde adjust bfactors {arguments}
    ss	isolde sim start sel
    rt	isolde release torsions sel {arguments}
    rd	isolde release distances sel {arguments}
    ra	rd; rt
    pf	isolde pepflip sel
    cf	isolde cisflip sel
    cbb	color bfactor {arguments}
    cbo	color byattr occupancy {arguments}
    cbc	color {arguments} bychain; color {arguments} byhet
    cs	clipper set contourSensitivity {arguments}
    

  
UCSF ChimeraX version: 1.13.dev202606240437 (2026-06-24)  
© 2016-2026 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open C:\Users\tcroll\AppData\Local\UCSF\ChimeraX\1.12\Python311\site-
> packages\chimerax\isolde\demo_data\3io0\before.pdb format pdb

before.pdb title:  
Crystal structure of etub from clostridium kluyveri [more info...]  
  
Chain information for before.pdb #1  
---  
Chain | Description | UniProt  
A | predicted microcompartment protein | A5N734_CLOK5 75-304  
  

> save test.png width 300 height 200




OpenGL version: 3.3.0 NVIDIA 610.62
OpenGL renderer: NVIDIA GeForce RTX 5070 Ti Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.9
Locale: en_GB.cp1252
Qt version: PyQt6 6.11.0, Qt 6.11.0
Qt runtime version: 6.11.1
Qt platform: windows

Manufacturer: LENOVO
Model: 83LU
OS: Microsoft Windows 11 Pro (Build 26200.8655)
Memory: 33,752,997,888
MaxProcessMemory: 137,438,953,344
CPU: 24 Intel(R) Core(TM) Ultra 9 275HX
OSLanguage: en-US

Installed Packages:
    accessible-pygments: 0.0.5
    aiohappyeyeballs: 2.6.2
    aiohttp: 3.13.4
    aiosignal: 1.4.0
    alabaster: 1.0.0
    annotated-types: 0.7.0
    anyio: 4.14.0
    appdirs: 1.4.4
    asttokens: 3.0.1
    attrs: 26.1.0
    autocommand: 2.2.2
    babel: 2.18.0
    backports.tarfile: 1.2.0
    beautifulsoup4: 4.13.5
    blockdiag: 3.0.0
    blosc2: 4.5.1
    build: 1.3.0
    certifi: 2026.6.17
    cftime: 1.6.5
    charset-normalizer: 3.4.7
    ChimeraX-AddCharge: 1.5.20
    ChimeraX-AddH: 2.3.1
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.6.2
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 3.2.1
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Animations: 1.0
    ChimeraX-Aniso: 1.3.2
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.69.2
    ChimeraX-AtomicLibrary: 14.4.1
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.3
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 3.0.0
    ChimeraX-Boltz: 1.1
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.2
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.6.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4.1
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.5
    ChimeraX-ChemComp: 0.1.0
    ChimeraX-ChemGroup: 2.0.2
    ChimeraX-Clashes: 2.4
    ChimeraX-Clipper: 0.28.dev0
    ChimeraX-Cluster: 1.0
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.8
    ChimeraX-CommandLine: 1.3.1
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.13.dev202606240437
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.6
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.4
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.2.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.4.1
    ChimeraX-Hbonds: 2.5.4
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.4
    ChimeraX-ISOLDE: 1.13.dev0
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.8.3
    ChimeraX-Label: 1.5
    ChimeraX-LightingGUI: 1.0
    ChimeraX-ListInfo: 1.3.1
    ChimeraX-Log: 1.2.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.3
    ChimeraX-Map: 1.3
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchAlign: 1.2.1
    ChimeraX-MatchMaker: 2.4.1
    ChimeraX-MCopy: 1.0
    ChimeraX-MCPServer: 0.2.0
    ChimeraX-MDcrds: 2.19.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-Minimize: 1.4.2
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.17
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.24
    ChimeraX-ModelPanel: 1.6.1
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0.1
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.16.2
    ChimeraX-OpenFold: 1.0
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.13
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.5
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.4
    ChimeraX-ProfileGrids: 1.10.1
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.8.2
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.3
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.2
    ChimeraX-Scenes: 0.3.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.3
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.12
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.19
    ChimeraX-Shape: 1.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SNFG: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.20
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.4
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.52
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDock: 1.6.4
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.5
    ChimeraX-Zone: 1.0.1
    click: 8.4.1
    colorama: 0.4.6
    comm: 0.2.3
    comtypes: 1.4.11
    contourpy: 1.3.3
    coverage: 7.14.3
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.2.4
    debugpy: 1.8.21
    decorator: 5.3.1
    docutils: 0.21.2
    executing: 2.2.1
    filelock: 3.19.1
    fonttools: 4.63.0
    frozenlist: 1.8.0
    funcparserlib: 2.0.0a0
    glfw: 2.10.0
    grako: 3.16.5
    h11: 0.16.0
    h5py: 3.16.0
    html2text: 2025.4.15
    httpcore: 1.0.9
    httpx: 0.28.1
    httpx-sse: 0.4.3
    idna: 3.18
    ihm: 2.2
    imagecodecs: 2024.6.1
    imagesize: 2.0.0
    importlib_metadata: 8.0.0
    inflect: 7.3.1
    iniconfig: 2.3.0
    ipykernel: 7.3.0
    ipython: 9.14.1
    ipython_pygments_lexers: 1.1.1
    jaraco.collections: 5.1.0
    jaraco.context: 5.3.0
    jaraco.functools: 4.0.1
    jaraco.text: 3.12.1
    jedi: 0.20.0
    Jinja2: 3.1.6
    jsonschema: 4.26.0
    jsonschema-specifications: 2025.9.1
    jupyter_client: 8.9.1
    jupyter_core: 5.9.1
    kiwisolver: 1.5.0
    line_profiler: 5.0.0
    linkify-it-py: 2.1.0
    lxml: 6.0.2
    lz4: 4.3.2
    Markdown: 3.8.2
    markdown-it-py: 4.2.0
    MarkupSafe: 3.0.3
    matplotlib: 3.10.7
    matplotlib-inline: 0.2.2
    mcp: 1.18.0
    mdit-py-plugins: 0.6.1
    mdurl: 0.1.2
    more-itertools: 10.3.0
    msgpack: 1.1.1
    multidict: 6.7.1
    ndindex: 1.10.1
    nest-asyncio2: 1.7.2
    netCDF4: 1.6.5
    networkx: 3.3
    numexpr: 2.14.1
    numpy: 1.26.4
    nvidia-nvjitlink-cu12: 12.9.86
    OpenMM: 8.4.0
    OpenMM-CUDA-12: 8.4.0
    openvr: 1.26.701
    packaging: 25.0
    packaging: 24.2
    ParmEd: 4.2.2
    parso: 0.8.7
    pep517: 0.13.1
    pickleshare: 0.7.5
    pillow: 11.3.0
    pip: 25.2
    pkginfo: 1.12.1.2
    platformdirs: 4.10.0
    platformdirs: 4.2.2
    plotext: 5.3.2
    pluggy: 1.6.0
    prompt_toolkit: 3.0.52
    propcache: 0.5.2
    psutil: 7.0.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pybind11: 3.0.1
    pycollada: 0.8
    pydantic: 2.13.4
    pydantic-settings: 2.14.2
    pydantic_core: 2.46.4
    pydata-sphinx-theme: 0.19.0
    Pygments: 2.18.0
    pynmrstar: 3.5.1
    PyOpenGL: 3.1.10
    PyOpenGL-accelerate: 3.1.10
    pyopenxr: 1.1.4501
    pyparsing: 3.3.2
    pyproject_hooks: 1.2.0
    PyQt6: 6.11.0
    PyQt6-Qt6: 6.11.1
    PyQt6-WebEngine: 6.11.0
    PyQt6-WebEngine-Qt6: 6.11.1
    PyQt6_sip: 13.11.1
    pytest: 9.1.1
    pytest-cov: 7.1.0
    python-dateutil: 2.9.0.post0
    python-dotenv: 1.2.2
    python-multipart: 0.0.32
    pywin32: 311
    pyzmq: 27.1.0
    qtconsole: 5.7.2
    QtPy: 2.4.3
    qtshim: 1.2.2
    RandomWords: 0.4.0
    rdkit: 2026.3.3
    referencing: 0.37.0
    requests: 2.32.5
    rich: 15.0.0
    roman-numerals: 4.1.0
    rpds-py: 2026.5.1
    scipy: 1.14.0
    setuptools: 80.9.0
    sfftk-rw: 0.8.1
    six: 1.17.0
    snowballstemmer: 3.1.1
    sortedcontainers: 2.4.0
    soupsieve: 2.8.4
    Sphinx: 9.0.4
    sphinx-autodoc-typehints: 3.6.1
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    sse-starlette: 3.4.5
    stack-data: 0.6.3
    starlette: 1.3.1
    superqt: 0.7.6
    tables: 3.10.2
    textual: 4.0.0
    textual-plotext: 1.0.1
    threadpoolctl: 3.6.0
    tifffile: 2025.3.13
    tinyarray: 1.2.5
    tomli: 2.0.1
    tornado: 6.5.7
    traitlets: 5.15.1
    typeguard: 4.3.0
    typing-inspection: 0.4.2
    typing_extensions: 4.15.0
    typing_extensions: 4.12.2
    uc-micro-py: 2.0.0
    urllib3: 2.7.0
    uvicorn: 0.49.0
    wcwidth: 0.8.1
    webcolors: 24.11.1
    wheel: 0.45.1
    wheel: 0.45.1
    wheel-filename: 1.4.2
    WMI: 1.5.1
    yarl: 1.24.2
    zipp: 3.19.2

Change History (6)

comment:1 by Eric Pettersen, 3 weeks ago

Cc: chimera-programmers added
Component: UnassignedWindow Toolkit
Owner: set to Zach Pearson
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionQt 6.11: saving image while floating windows break main window resize

comment:2 by Tom Goddard, 3 weeks ago

I reproduce this on Mac in the daily build by just starting ChimeraX, dragging the Model Panel so it is floating, then resize of the main window does not relayout the panes.

Same problem on Windows.

Should back down to Qt 6.10.2 if this is not fixed in ChimeraX since it is likely to effect anyone who uses a floating window.

comment:3 by Zach Pearson, 2 weeks ago

I was able to reproduce this on my Mac and Windows machines using Tom's procedure (just open ChimeraX and undock the Model Panel). I also tried undocking the Log first, which did not reproduce the bug. I tracked the bug down to a corrupt layout cache (which you can clear by calling session.ui.main_window.restoreState(self.saveState())). I added that line to the end of UI.build(), then I saw the bug intermittently, and now I haven't been able to reproduce it for a while.

I also saw my Windows ChimeraX, which I left unmodified, fail to reproduce the bug after a few successful attempts. Luckily, restarting my computer seems to re-derange the layouting engine so I can keep testing fixes.

comment:4 by Zach Pearson, 2 weeks ago

Also, after installing PySide6 and restarting, I'm unable to reproduce the bug.

comment:5 by Tom Goddard, 12 days ago

The same bug occurs for me with PySide 6.11.1, reported as ticket #20590.

comment:6 by Zach Pearson, 11 days ago

Resolution: fixed
Status: assignedclosed

I rolled PyQt back to 6.10.2

Note: See TracTickets for help on using tickets.