-
Notifications
You must be signed in to change notification settings - Fork 38
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
feat: use qtpy and add support for pyside6 #202
Conversation
3ff462c
to
396b49e
Compare
0e09dd3
to
8ed24cb
Compare
8ed24cb
to
529ef1d
Compare
7fcefb9
to
9868481
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm really looking forward to being able to use this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome! My local workspace wasn't working with GUI stuff after upgrading my python version, but this got it working again after I pulled these changes locally.
Very slick experience to call:
deadline bundle gui-submit --browse
Have it prompt me to install pyside, and then continue with opening my file explorer to do the gui submit.
Signed-off-by: Morgan Epp <[email protected]>
9868481
to
2b089a3
Compare
Signed-off-by: Justin Sawatzky <[email protected]> Co-authored-by: Morgan Epp <[email protected]>
What was the problem/requirement? (What/Why)
We currently use Pyside2 for our GUI requirements (brought in by external applications) but want to be able to use pyside2, pyside6, or other qt-based runtimes (ie. whatever other applications may provide).
What was the solution? (How)
Switching to use QtPy allows us to abstract away the choice of which specific Qt bindings to use and makes switching a fairly seamless process.
The main changes here are:
pip install deadline[gui]
QRegExpValidator
toQRegularExpressionValidator
, since qtpy is missing that compatibility and the former is no longer available in pyside6, but the latter is available in both.exec_
referencesThere's still some clean-up that can be done, as evidenced by needing some mypy overrides.
What is the impact of this change?
How was this change tested?
Standard tests
Ran a few submitter workflows:
I then performed manual testing around the installation workflow when a user doesn't have the optional gui dependencies available
pip install deadline
, confirmed that it prompted me to install PySide6. Subsequent launches did not ask me, as the dependencies were available.Was this change documented?
N/A
Is this a breaking change?
No, all applications should continue to work since deadline now brings in qtpy by default (without any of the actual GUI deps)