Last active
March 14, 2024 09:09
-
-
Save maty974/4739917 to your computer and use it in GitHub Desktop.
The Foundry Nuke hack works with "nukescripts.panels.registerWidgetAsPanel", to remove the disturbing widget contents margins set by Nuke.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
Created on Feb 8, 2013 | |
@author: matthieuc | |
@contact: [email protected] | |
''' | |
import PySide.QtGui as QtGui | |
def setNukeZeroMarginsWidget(widget_object): | |
try: | |
if widget_object: | |
target_widgets = set() | |
target_widgets.add(widget_object.parentWidget().parentWidget()) | |
target_widgets.add(widget_object.parentWidget().parentWidget().parentWidget().parentWidget()) | |
for widget_layout in target_widgets: | |
widget_layout.layout().setContentsMargins(0, 0, 0, 0) | |
except: | |
pass |
I've updated the code, I think it is better to not parse all the application Widget with QtGui.QApplication.allWidgets()
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
First of all thanks to maty974 for the original code-snippet.
It didn't work out of the box for me as well but I ultimately got it going.
def setNukeZeroMarginsWidget(widget_object):
Because setNukeZeroMarginsWidget was wrapped in a try/except block the function would exit as soon as it encountered an issue. In my case, one of the children of one of the widgets in parentWidgetList was a QObject, so it didn't have a setContentsMargins method. This caused the entire function to exit prematurely before setContentsMargins could be executed on the desired widgets.
By moving the try/except block further down the line we can still prevent the function from failing should we attempt to setContentsMargins on objects which don't allow that, however it won't exit prematurely any more.