gecos-lab / PZero

GNU Affero General Public License v3.0
24 stars 2 forks source link

GUI refactoring #41

Open andrea-bistacchi opened 1 year ago

andrea-bistacchi commented 1 year ago

All windows (e.g. 3D windows, maps windows, etc.) are now Qt Main Windows. It would be better to convert them to child windows with respect to the main project window, but retain the possibility do detach them and float theme everywhere on the desktop using the QT QDockWidget Class.

andrea-bistacchi commented 3 months ago

To be completed after views refactoring. Check whether Qt 6 could/should be used.

andrea-bistacchi commented 3 months ago

Hi, in the AB_GUI_tests we've created a new environment_from_history.yml with pyqt5 >= 5.15.9 installed from pip.

It works and solves problems on Windows (tested myself) and Linux (tested by @gbene).

I'll check on Mac tonight.

If this work, we'll have a single environment that solves these GUI problems and also the duplication of environments for Mac and Windows/Linux.

Note that as for 14th June 2024 most recent Qt versions supported by Conda are 5.15.7 for Windows, 5.15.9 for Linux and 6.1.0 for MacOs.

Using PyPi, more recent versions up to PyQt 6.7 can be installed on all platforms.

andrea-bistacchi commented 3 months ago

Qt 5.15.9 was the first release to support Apple ARM CPUs.

https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.9/release-note.md

andrea-bistacchi commented 3 months ago

Or we switch from PyQt to PySide that being directly developed by the Qt Company (instead of Riverbank Computing) seems much more up-to-date.

https://anaconda.org/conda-forge/pyside6

https://wiki.qt.io/Qt_for_Python

This should cause some refactoring, but probably limited.

https://wiki.qt.io/Qt_for_Python/Considerations

The story and different licensing scheme of PyQt vs. PySide is on Wikipedia and does not seem to be a problem for us.