QT Widgets Framework
A Collection of Reusable QT Widgets to simplify app development.
A collection of Toolkit Related QT widgets. Includes a help popup screen, a standard delegate view framework and a standard spinner overlay.
The API Reference documentation for this Framework can be found here:
Installation and Updates
Updating to the latest version
If you already have this item installed in a project and you want to get the latest
version, you can run the
update command. You can either navigate to the
tank command that comes with that specific project, and run it there:
> cd /my_tank_configs/project_xyz > ./tank updates
Alternatively, you can run your studio
tank command and specify the project
name to tell it which project to run the update check for:
> tank Project XYZ updates
Collaboration and Evolution
If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at https://github.com/shotgunsoftware/tk-framework-qtwidgets.
- You need Shotgun Pipeline Toolkit Core API version v0.18.45 or higher to use this.
No Configuration Needed!
This item does not have any options to configure!
Welcome to the release notes for this Framework. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!
Fixes an issue with certain versions of PySide2 and the screenshot widget.
Fixed an edge case bug in
HierarchicalFilteringProxyModel recursive filtering.
Introduces a new context selection widget, first introduced in tk-multi-publish2 and now moved here.
Updated metrics logged
Uses a safe method of forcing deletion of Qt widgets that prevents garbage collection issues in PySide2/Qt5.
Now uses internal QT screengrab logic on linux if imagemagick has not been set up.
Updates to the search widgets.
GlobalSearchCompleter will now clear their contents when ESC is hit or a result picked from the dropdown.
Added hierarchy completer and overlay spinner widget
- Adds hierarchical search completer, similar to the completer found in the Shotgun global media app. This completer searches along the structure defined by the hierarchy settings in Shotgun.
- Adds ShotgunSpinningWidget, an extended version of the existing overlay widget.
- Upgrades to require core 18.45 and sg utils 5.2.0 or greater.
Removes problematic profiles from png files used as icons.
This will silence libpng warnings from Qt when the png files are loaded as pixmaps. This is a second attempt as this profile stripping, and uses ImageMagick's "mogrify" command to achieve the desired result, which maintains color consistency.
Properly addresses new Note entities to include the creator of the linked-to entity.
Adds a field widget delegate that does not require a ShotgunModel
Adds a field widget delegate that does not require a ShotgunModel
Fixes a bug in activity stream data manager destroy
Fixes default key navigation in SG menu
Field menu polish
Adds get_hyperlink_html utility function that defines standard hyperlink styling.
Activity stream widget no longer shows multiple notes in the UI after a reply.
SG menu now scrollable when size extends beyond height of display
Hotfix for qtwidgets docs build
Styling tweaks for ActivityStreamWidget. These account for the needs to of both Shotgun Panel and Shotgun Review for RV.
Styling fixes and general debugging of editable fields in the VersionDetailsWidget.
As editable shotgun fields widgets are being used in RV for the first time, some styling tweaks were required. In addition, some bugs and performance issues were discovered during RV's QA process that necessitated a number of fixes and tweaks to various components within the framework.
Adds backward compatibility support for project searching via entity and multi entity field widgets
Polish for field widgets in version details
Polish for field widgets and associated classes based on QA
Fixes for entity edit widgets as per QA notes
Shotgun fields in the VersionDetailsWidget are now editable.
Once edited in the widget, those changes are sent to Shotgun and the fields are updated there. Along with this feature comes additional getters on shotgun_fields widgets.
Removes the use of collections.OrderedDict in the VersionDetails widget.
The OrderedDict class is not available in Python versions older than 2.7.
Fixed bugs around note creation when running in a site context
Adds attachments filtering mechanism and new note autoselection to the activity stream widget.
Adds a VersionDetailsWidget Qt widget and its associated classes.
A version details widget has been added. This widget makes use of Shotgun's activity stream data to present a user with a view into a Version entity's activity stream, plus a second tab displaying a list of related Version entities found in Shotgun. In addition, a ShotgunSortFilterProxyModel class is provided for sorting and filtering Shotgun data in a list view.
Allow the editor widgets to be used with the shotgunmodel
Uses SG_LINK_COLOR qss constant when it is available, and bubbles up the ability to turn off clickable user icons from lower-level activity stream widgets.
Allows field specific widget registration via class member
Adds ability to register widgets for specific entity/type
[minor] Adds a property for image_url in shotgun_fields.image_widget.
Bug fix related to decorator application order for shotgun_fields' metaclass.
Allows for a pre-submission callback to be registered for use during Note/Reply entity creation.
The new callback has been put into place to allow higher-level app code to do something like procedurally generate attachments for a new Note/Reply at the time of submission. In addition, the use of QtCore.Property in the version stream widget has been replaced with normal Python property() calls to ensure compatibility with more than just PySide (ie: PyQt4).
Adds editing functionality to shotgun fields widgets
HierarchicalFilteringProxyModel now listens to reset signals from its source model.
When the HierarchicalFilteringProxyModel model receives the reset signal it will automatically clear its cache of model indices. This will allow the source model to delete its nodes much quicker since there will not be any QPersistentModelIndex caches to update.
Updated to use v4.x.x of the Shotgun Utils framework.
Added new widgets extracted from the Shotgun Panel app.
- Added sphinx documentation for framework, located in http://developer.shotgunsoftware.com/tk-framework-qtwidgets
- Added activity stream widget from the Shotgun Panel
- Added global search widget from the Shotgun Panel
- Added note input UI from the Shotgun Panel
- Added playback label from the Shotgun panel
- Added screengrab widget from the Shotgun panel
Additional fixes and improvements as well as code tidy-up.
Fix to the HierarchicalFilterProxyModel to support earlier versions of PySide
Added additional widgets used by the File Manager and fixed various bugs
- Added new widgets including a search control, an elided text label that can handle HTML and the navigation controls from the Loader.
- Fixed numerous bugs in the grouped list view and hierarchical filtering proxy model
Initial pre-release v2.x for testing with File Manager v2
removing file_browser widget
adding file browser widget
Fixed PyQt 4.6.2 compatibility issue
- Some old versions of PyQt don't contain the Q*Animation classes introduced in Qt 4.6 and this was causing some Toolkit features to fail
- Updated to require core v0.14.58