Skip to content

Make splash screen widget compatible with PySide6 #111

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 2, 2025
Merged

Make splash screen widget compatible with PySide6 #111

merged 3 commits into from
Apr 2, 2025

Conversation

chrisjbillington
Copy link
Member

Unsure about the status of the other widgets in labscript-utils, figure I'll address them when testing the other applications with PySide6. The need to modify the splash screen became apparent when adding PySide6 compatibility for runmanager (labscript-suite/runmanager#118).

This now works with either PyQt5 or PySide6, and is a bit of an improvement regardless - it follows more closely what Qt's build-in spash screen widget does.

@chrisjbillington
Copy link
Member Author

chrisjbillington commented Dec 17, 2024

FWIW I don't have a general plan to port everything to PySide6 imminently, rather I'm porting an unrelated application and was using runmanager as a bit of a testbed. But qtutils 4.0 supports PySide6 now so porting labscript suite applications is now possible.

With PySide6 being a sensibly-behaving library (compared to PySide2 which had some major deficiencies) and the licensing situation favouring it over PyQt, it doesn't seem like we should go out of our way to support PyQt6 without good reason. Anaconda is still PyQt5-only, and who knows what they'll do - whether they'll include PySide6 or PyQt6 when they drop PyQt5. Maybe conda (or at least Anaconda and their main channel) will cease to be relevant by then and make our lives easier.

@dihm
Copy link
Contributor

dihm commented Jan 16, 2025

Gave this a quick test before merging and I have a peculiar bug. When the splash is called (either via the test script or a labscript module), the Splash won't move past the Loading text unless I click my mouse somewhere on the screen outside of the splash window.

I'm going to guess at environment things that might be relevant.

  • Windows 10
  • conda install
  • python==3.11.7
  • qtutils==4.0.0
  • pyqt==5.15.10
  • qt-main==5.15.2

@dihm dihm mentioned this pull request Jan 16, 2025
@chrisjbillington
Copy link
Member Author

Oh, how annoying.

I'd done some testing in a few environments and thought I had it sorted. Will take a look using your test environment some point.

@dihm
Copy link
Contributor

dihm commented Mar 26, 2025

Ugh. Anaconda has finally released PyQt6 on the main channel (labscript-suite/labscript-suite#96). I suppose the priority of this (and other) fixes is increased.

@dihm dihm merged commit 8c11c95 into master Apr 2, 2025
1 check passed
@dihm dihm deleted the pyside6 branch April 2, 2025 18:20
dihm added a commit that referenced this pull request Apr 29, 2025
commit 1a1c053
Author: David Meyer <[email protected]>
Date:   Fri Apr 11 10:49:41 2025 -0400

    Update link to Build and Release action status

commit 0a58581
Author: David Meyer <[email protected]>
Date:   Fri Apr 11 10:43:09 2025 -0400

    Bypass `setuptools-conda` incompatibility with `conda-build>=25`

commit 8c11c95
Merge: 56fedba fe2a120
Author: David Meyer <[email protected]>
Date:   Wed Apr 2 14:19:55 2025 -0400

    Merge pull request #111 from labscript-suite/pyside6

    Make splash screen widget compatible with PySide6

commit fe2a120
Author: David Meyer <[email protected]>
Date:   Wed Apr 2 13:25:39 2025 -0400

    Drop unnecessary `splash.show` overload that causes hangs in some Qt5 situations.

commit 56fedba
Merge: cedf98d 858d17a
Author: David Meyer <[email protected]>
Date:   Mon Mar 24 15:37:55 2025 -0400

    Merge pull request #114 from dihm/workflow_refresh

    Workflow refresh

commit 858d17a
Author: David Meyer <[email protected]>
Date:   Mon Mar 24 15:34:30 2025 -0400

    Re-add setuptools-scm dependency

    Only `labscript_utils.versions.get_version` requires it, and it could be removed,
    but zprocess requires the package anyway so may as well keep the functionality.

commit 946e1e5
Author: David Meyer <[email protected]>
Date:   Mon Mar 24 14:23:22 2025 -0400

    Remove stale dependencies

commit 1ec7f01
Author: David Meyer <[email protected]>
Date:   Mon Mar 24 14:23:02 2025 -0400

    Update release workflow to introspected version

commit cedf98d
Merge: 3ab11ce c9a5e13
Author: David Meyer <[email protected]>
Date:   Fri Jan 17 11:24:38 2025 -0500

    Merge pull request #112 from dihm/example_compilation

    Example compilation

commit c9a5e13
Author: David Meyer <[email protected]>
Date:   Fri Jan 17 09:58:19 2025 -0500

    Separate labscript-profile-create into a separate CLI interface and the
    actual creation function `create_profile`,
    which is automatically called when labscript_utils is imported and the profile does not already exist.
    Separation ensures that argparse doesn't consume erroneous CLI arguments
    just because a command incidentally imports labscript_utils (like on RTD).

commit be08cee
Author: David Meyer <[email protected]>
Date:   Wed Jan 15 10:00:31 2025 -0500

    Add basic docstrings to labscript-profile submodule

commit a9927c8
Author: David Meyer <[email protected]>
Date:   Tue Jan 14 15:53:43 2025 -0500

    Ensure $HOME gets expanded correctly during compilation on unix

    Co-authored-by: NMFolks <[email protected]>

commit c9eac49
Author: David Meyer <[email protected]>
Date:   Thu Oct 3 15:05:13 2024 -0400

    Add some feedback to `labscript-profile-create` to track progress and output directories.

commit 00a2198
Author: David Meyer <[email protected]>
Date:   Thu Oct 3 15:03:59 2024 -0400

    Make compile flag a toggle.

commit 2d9f23d
Author: David Meyer <[email protected]>
Date:   Wed Aug 21 13:24:45 2024 -0400

    Make connection table compilation an optional flag.
    Default is to not compile, maintaining older behavior.

commit a706494
Author: David Meyer <[email protected]>
Date:   Wed Aug 21 13:12:07 2024 -0400

    Configure `labscript-profile-create` to compile the default connection table.

    This will allow BLACS to run immediately using dummy devices,
    without manual compilation required from the user.

    Co-authored-by: NMFolks <[email protected]>

commit 3ab11ce
Merge: 5e3fb28 09b6249
Author: David Meyer <[email protected]>
Date:   Thu Jan 16 16:24:18 2025 -0500

    Merge pull request #109 from carterturn/cartertu-digitaloutput-inverted-fix

    Handling inverted for DigitalOutput set_DO

commit 19f8f23
Author: chrisjbillington <[email protected]>
Date:   Tue Dec 17 15:06:50 2024 +1100

    Require qtutils≥4.0 for PySide6 support

commit c6e729b
Author: chrisjbillington <[email protected]>
Date:   Thu Dec 12 00:21:52 2024 +1030

    Make splash screen widget compatible with PySide6

commit 5e3fb28
Merge: b042db4 a9537dc
Author: David Meyer <[email protected]>
Date:   Fri Nov 15 16:29:41 2024 -0500

    Merge pull request #110 from dihm/zmq_fix

    Modify default zmq binding address to use `tcp://*`

commit a9537dc
Author: David Meyer <[email protected]>
Date:   Fri Nov 15 09:13:11 2024 -0500

    Modify default zmq binding address to use `tcp://*`

    Fixes compatibility with zmq>=26

commit 09b6249
Author: Carter Turn <[email protected]>
Date:   Tue May 30 19:02:07 2023 -0400

    Removed unneeded return

commit 26344e6
Author: Carter Turn <[email protected]>
Date:   Tue May 2 09:08:08 2023 -0400

    Fix the set_DO function for InvertedDigitalOutput

commit b042db4
Merge: 9bb8842 d7a044a
Author: Phil Starkey <[email protected]>
Date:   Thu Oct 3 09:16:44 2024 +1000

    Merge pull request #108 from dihm/hotfix_editable_installs

    Urgent hotfix to #107

commit d7a044a
Author: David Meyer <[email protected]>
Date:   Wed Oct 2 12:01:37 2024 -0400

    Re-adds `setup.py` with custom editable install code that should not
    have been deleted in #107

commit 9bb8842
Merge: 426bff5 8c1620c
Author: David Meyer <[email protected]>
Date:   Sat Jul 13 19:47:16 2024 -0400

    Merge pull request #107 from dihm/metadata_overhaul

    Metadata overhaul

commit 426bff5
Merge: b0882cd 189c3cf
Author: David Meyer <[email protected]>
Date:   Sat Jul 13 19:45:53 2024 -0400

    Merge pull request #106 from dihm/mod_watcher_imp_fix

    Module watcher imp removal

commit b0882cd
Merge: 851f354 2ab6077
Author: David Meyer <[email protected]>
Date:   Sat Jul 13 19:44:04 2024 -0400

    Merge pull request #105 from dihm/imp_hotfix

    Imp hotfix

commit 8c1620c
Author: David Meyer <[email protected]>
Date:   Sat Jul 13 02:20:29 2024 -0400

    Move metadata to pyproject.toml,
    update setuptools-scm configs

commit 189c3cf
Author: David Meyer <[email protected]>
Date:   Thu Apr 4 15:20:13 2024 -0400

    Remove `imp.acquire_lock` and `imp.release_lock`.

    Global import locks have been removed since Python 3.3,
    so they are likely just not needed anymore.

commit 4e3b101
Author: David Meyer <[email protected]>
Date:   Thu Apr 4 15:16:24 2024 -0400

    Add very simple test that confirms `ModuleWatcher` nominally functions

commit 2ab6077
Author: David Meyer <[email protected]>
Date:   Thu Apr 4 14:17:04 2024 -0400

    Remove old method of importing `register_classes.py` to remove `imp` dependency.

commit 37aa2ca
Author: David Meyer <[email protected]>
Date:   Thu Apr 4 14:09:32 2024 -0400

    Swap over of `imp` import check to default to older behavior if available.

commit 851f354
Merge: 77f5cf7 da5a2c4
Author: David Meyer <[email protected]>
Date:   Mon Feb 12 15:20:43 2024 -0500

    Merge pull request #101 from ispielma/FixImpIssue

    Fixes an issue where `imp` is no longer a python module

commit 77f5cf7
Merge: ea44a21 1acfde2
Author: David Meyer <[email protected]>
Date:   Fri Feb 9 12:48:56 2024 -0500

    Merge pull request #102 from dihm/setuptools_scm_fix

    Ensure setuptools_scm always uses `release-branch-semver`

commit ea44a21
Merge: 2cf7fb6 01bf571
Author: David Meyer <[email protected]>
Date:   Fri Feb 9 12:48:42 2024 -0500

    Merge pull request #103 from dihm/update_workflow

    Update workflow pins to use node.js 20

commit 01bf571
Author: David Meyer <[email protected]>
Date:   Fri Feb 9 12:46:14 2024 -0500

    Update workflow pins to use node.js 20

commit 1acfde2
Author: David Meyer <[email protected]>
Date:   Fri Feb 9 12:42:36 2024 -0500

    Ensure setuptools_scm always uses `release-branch-semver`

    Also update setuptools and setuptools_scm pin in build.

commit da5a2c4
Author: spielman <[email protected]>
Date:   Fri Feb 9 12:22:20 2024 -0500

    Comment fix.

commit 5f9e1dd
Author: spielman <[email protected]>
Date:   Fri Feb 9 12:16:15 2024 -0500

    Fixed.

commit 2cf7fb6
Merge: 9e9df6d be1c791
Author: David Meyer <[email protected]>
Date:   Thu Jan 18 20:47:13 2024 -0500

    Merge pull request #99 from dihm/rtd_update

    Modernize RTD build

commit be1c791
Author: David Meyer <[email protected]>
Date:   Thu Jan 18 20:39:29 2024 -0500

    Modernize RTD build
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants