-
Notifications
You must be signed in to change notification settings - Fork 198
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
Replace qApp with a new cuegui.App library. #1193
Replace qApp with a new cuegui.App library. #1193
Conversation
@DiegoTavares This is ready for review but could use some more testing. As you can see from the last few commits in this branch I found a few spots where the whole |
Working on building a package with pyside6 internally to test this. |
Awesome, thanks. FWIW PySide6 shouldn't be required to test this, I believe. It could be tested separately. And maybe it should be, to isolate any issues and help unbreak our CI pipelines. |
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.
Tested on our environment and it works fine
Link the Issue(s) this Pull Request is related to.
Fixes #1192.
Summarize your change.
We introduce a new
App
library which is used to create and access the application instance. This replaces our use ofQtGui.qApp
for the same purpose.This allows us to avoid the
no attribute 'qApp'
error that's been a regular occurrence for a long time and has recently start causing consistent CI pipeline failures. See #1192 for more details.Many classes now store the instance as
self.app
which looks a bit cleaner and in several modules allows us to avoid importing the wholeQtGui
module just to access the application instance.With the new library, lint is now able to trace
CueGuiApplication
references back to the actual class, so we're able to remove a ton ofdisable=no-member
rules that were everywhere in that code. Also a fewdisable=attribute-defined-outside-init
rules. There are still somedisable=no-member
rules left due to lint's inability to follow PySide signals, but that will have to be handled separately.