Opened 3 years ago
Last modified 3 years ago
#8260 feedback defect
Font sizes in daily build
Reported by: | Tristan Croll | Owned by: | Greg Couch |
---|---|---|---|
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.22621 ChimeraX Version: 1.6.dev202212302205 (2022-12-30 22:05:38 UTC) Description Not sure if it's Windows-specific, but in the daily builds the font sizes in some places (top menu, Models panel, some of ISOLDE's widgets, ...) are significantly larger than they used to be, messing up layouts (see attached snippet of screenshot comparing the Models panel to the log). Was this deliberate, or has some default changed in Qt? The fact that ISOLDE's widgets are affected suggests the latter. OpenGL version: 3.3.0 NVIDIA 517.13 OpenGL renderer: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Python: 3.9.11 Locale: en_GB.cp1252 Qt version: PyQt6 6.4.0, Qt 6.4.0 Qt runtime version: 6.4.1 Qt platform: windows Manufacturer: HP Model: HP ZBook Studio 15.6 inch G8 Mobile Workstation PC OS: Microsoft Windows 11 Pro (Build 22621) Memory: 34,007,068,672 MaxProcessMemory: 137,438,953,344 CPU: 16 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz OSLanguage: en-GB Installed Packages: -himerax-isolde: 1.6.dev0 alabaster: 0.7.12 appdirs: 1.4.4 asttokens: 2.2.1 Babel: 2.11.0 backcall: 0.2.0 blockdiag: 3.0.0 build: 0.8.0 certifi: 2022.12.7 cftime: 1.6.2 charset-normalizer: 2.1.1 ChimeraX-AddCharge: 1.5.8 ChimeraX-AddH: 2.2.3 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.3.1 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.8 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.0.3 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.43.4 ChimeraX-AtomicLibrary: 10.0 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.3 ChimeraX-BasicActions: 1.1.2 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.1.2 ChimeraX-BondRot: 2.0.1 ChimeraX-BugReporter: 1.0.1 ChimeraX-BuildStructure: 2.7.2 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.2 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.3.1 ChimeraX-ChangeChains: 1.0.2 ChimeraX-CheckWaters: 1.3.1 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.2.4 ChimeraX-Clipper: 0.20.0 ChimeraX-ColorActions: 1.0.3 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.2 ChimeraX-CommandLine: 1.2.5 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.6.dev202212302205 ChimeraX-CoreFormats: 1.1 ChimeraX-coulombic: 1.4.1 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.3 ChimeraX-Dicom: 1.1 ChimeraX-DistMonitor: 1.3 ChimeraX-DockPrep: 1.1 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ESMFold: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.2 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1 ChimeraX-Hbonds: 2.4 ChimeraX-Help: 1.2.1 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ISOLDE: 1.6.dev0 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-Label: 1.1.7 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.5 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.2 ChimeraX-Map: 1.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.1 ChimeraX-MatchMaker: 2.0.11 ChimeraX-MDcrds: 2.6 ChimeraX-MedicalToolbar: 1.0.2 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1 ChimeraX-mmCIF: 2.10 ChimeraX-MMTF: 2.2 ChimeraX-Modeller: 1.5.8 ChimeraX-ModelPanel: 1.3.6 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.1 ChimeraX-MouseModes: 1.2 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.9.3 ChimeraX-PDB: 2.6.10 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0.2 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.0 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 3.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5.1 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0.1 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.8.1 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.1.1 ChimeraX-ShowSequences: 1.0.1 ChimeraX-SideView: 1.0.1 ChimeraX-Smiles: 2.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.10.1 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.1.1 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.2 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1.2 ChimeraX-ToolshedUtils: 1.2.1 ChimeraX-Topography: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.26 ChimeraX-uniprot: 2.2.1 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.1.6 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.1 ChimeraX-WebServices: 1.1.1 ChimeraX-Zone: 1.0.1 colorama: 0.4.5 comm: 0.1.2 comtypes: 1.1.10 contourpy: 1.0.6 cxservices: 1.2 cycler: 0.11.0 Cython: 0.29.32 debugpy: 1.6.4 decorator: 5.1.1 docutils: 0.19 entrypoints: 0.4 executing: 1.2.0 filelock: 3.7.1 fonttools: 4.38.0 funcparserlib: 1.0.1 grako: 3.16.5 h5py: 3.7.0 html2text: 2020.1.16 idna: 3.4 ihm: 0.35 imagecodecs: 2022.9.26 imagesize: 1.4.1 importlib-metadata: 6.0.0 ipykernel: 6.19.2 ipython: 8.7.0 ipython-genutils: 0.2.0 jedi: 0.18.2 Jinja2: 3.1.2 jupyter-client: 7.4.8 jupyter-core: 5.1.1 kiwisolver: 1.4.4 line-profiler: 3.5.1 lxml: 4.9.1 lz4: 4.0.2 MarkupSafe: 2.1.1 matplotlib: 3.6.2 matplotlib-inline: 0.1.6 msgpack: 1.0.4 nest-asyncio: 1.5.6 netCDF4: 1.6.0 networkx: 2.8.8 numexpr: 2.8.4 numpy: 1.23.5 openvr: 1.23.701 packaging: 22.0 ParmEd: 3.4.3 parso: 0.8.3 pep517: 0.13.0 pickleshare: 0.7.5 Pillow: 9.3.0 pip: 22.2.2 pkginfo: 1.8.3 platformdirs: 2.6.2 prompt-toolkit: 3.0.36 psutil: 5.9.4 pure-eval: 0.2.2 pycollada: 0.7.2 pydicom: 2.3.0 Pygments: 2.12.0 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 3.0.9 PyQt6-commercial: 6.4.0 PyQt6-Qt6: 6.4.1 PyQt6-sip: 13.4.0 PyQt6-WebEngine-commercial: 6.4.0 PyQt6-WebEngine-Qt6: 6.4.1 python-dateutil: 2.8.2 pytz: 2022.7 pywin32: 303 pyzmq: 24.0.1 qtconsole: 5.4.0 QtPy: 2.3.0 RandomWords: 0.4.0 requests: 2.28.1 scipy: 1.9.3 setuptools: 65.1.1 sfftk-rw: 0.7.2 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 Sphinx: 5.1.1 sphinx-autodoc-typehints: 1.19.1 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 stack-data: 0.6.2 tables: 3.7.0 tifffile: 2022.10.10 tinyarray: 1.2.4 tomli: 2.0.1 tornado: 6.2 traitlets: 5.8.0 urllib3: 1.26.13 wcwidth: 0.2.5 webcolors: 1.12 wheel: 0.37.1 wheel-filename: 1.4.1 WMI: 1.5.1 zipp: 3.11.0 File attachment: Screenshot_20230104_163126.png
Attachments (2)
Change History (14)
by , 3 years ago
Attachment: | Screenshot_20230104_163126.png added |
---|
comment:1 by , 3 years ago
Cc: | added |
---|---|
Component: | Unassigned → Window Toolkit |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Font sizes in daily build |
On my (Intel, 10.15.7) Mac, 1.5 and the daily build fonts seem to be the same size.
comment:2 by , 3 years ago
Hmm... odd. Appears to be something to do with the external monitor I was using - a fresh ChimeraX session on the same laptop with no external monitor looks completely normal. On Wed, Jan 4, 2023 at 6:01 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
follow-up: 2 comment:3 by , 3 years ago
So with an external display on Windows 10 you find that ChimeraX daily build and ChimeraX 1.5 produce different font sizes? ChimeraX 1.5 uses Qt 6.3 while the daily build uses Qt 6.4, updated December 1, 2022, so maybe Qt 6.4 change some behavior.
What is the Windows display scaling you are using on the external display? Does changing that display scaling effect the font sizes relative to other gui elements?
The Log panel is a QWebEngineView for rendering html which Qt does using Chrome using a separate process. The Qt scheme for rendering html is really hacky and I have seen in the past that it's choice of font sizes seems independent of what other Qt widgets use for fonts. So it is not surprising that the Log and Models panel would have different fonts and font sizes.
comment:4 by , 3 years ago
Will do a little more probing once I’m back in the office tomorrow. It’s a crazy high-res display for its size, so I suspect the scaling is set pretty high. I was also idly wondering if it might have something to do with me using both the laptop and external display in an extended-desktop setup, with the two displays having different scaling settings. On Wed, 4 Jan 2023 at 21:08, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
follow-up: 4 comment:5 by , 3 years ago
Qt chooses default font sizes. From your attached screenshot I see the Models panel doesn't center the color button vertically with the model name when the font gets large. This could be improved. In general all the ChimeraX user interfaces are likely to look not as good if the fonts are made large. The UIs could be improved to look better with a range of font sizes.
I suspect that Qt 6.4 has decided to use different font sizes because of the Windows display scaling in use on your external display. I'm not keen on overriding what Qt does to choose font sizes unless it does something really horrible.
comment:6 by , 3 years ago
Yeah, it's the display scaling... but it really seems like Qt is doing something silly - compounding the scaling by increasing the point size of fonts with increasing scaling, which effectively makes the size of each character on screen increase with the square of the scale factor. I'm working on a 24" monitor at 4k resolution. The Windows-recommended scale factor is 150%, which does feel about right for me (125% is bearable, 100% is *tiny*). I could honestly see some people choosing to go as high as 200%... here's a screenshot of what that looks like. Definitely a new "feature" of Qt - everything looks perfectly normal in ChimeraX 1.5. On Wed, Jan 4, 2023 at 9:13 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
follow-up: 6 comment:7 by , 3 years ago
Seems Windows-specific - plugged the same monitor into my Ubuntu 22.04 box and set the display scaling to 200%, started ChimeraX and everything looks normal. On Thu, Jan 5, 2023 at 9:26 AM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
comment:8 by , 3 years ago
Owner: | changed from | to
---|
There are many Qt bug reports about the Windows font sizes became too large in Qt 6.4 while correct in 6.3.
It appears it is fixed in Qt 6.4.2.
https://codereview.qt-project.org/c/qt/qtbase/+/441694
ChimeraX daily build is currently using Qt 6.4.1 but will update to Qt 6.4.2 at some point. Greg Couch does those updates so reassigning to him.
Here are some of the Qt bug reports
https://bugreports.qt.io/browse/QTBUG-108481
https://bugreports.qt.io/browse/QTBUG-108593
https://bugreports.qt.io/browse/QTBUG-105857
follow-up: 7 comment:9 by , 3 years ago
Greg, when you update to Qt 6.4.2 could you let Tristan know so he can test if the font size problem is fixed on Windows with large display scaling?
comment:10 by , 3 years ago
Qt 6.4.2 was released today. Need to wait for Python package PyQt6-Qt6 6.4.2 to come out.
comment:11 by , 3 years ago
If it’s just a Qt bug that’ll be fixed by the next release then there’s no urgency on my part. Was just worried that I might have to do some painful rejigging of ISOLDE’s GUI. On Thu, 5 Jan 2023 at 19:05, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote:
comment:12 by , 3 years ago
Status: | assigned → feedback |
---|
The next daily build will have Qt 6.4.2 in it. And the corresponding new version of QtWebEngine. Please test it and let us know if that fixes your problem.
Added by email2trac