Modify the value of a RegisteredPanel in Nuke PyQt
I created a registered panel in Nuke and I am trying to modify its content by pressing a button in a different Qt Window.
The panel is using the following code :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
class Example(QtGui.QWidget):
def __init__(self):
super(Example,self).__init__()
self.comboBox = QtGui.QComboBox()
self.comboBox.addItems(['Item 1','Item 2','Item 3','Item 4'])
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.comboBox)
pane = nuke.getPaneFor("Example.panel")
panels.registerWidgetAsPanel('Example', 'Example',"", True).addToPane(pane)
Now I am opening another window of a different tool. I am trying to create a bridge between the two tools. I want to modify the value of the ComboBox in the panel by pressing a button in my new Window.
Here is the code for the window :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
def Panel():
class myPanel(QtGui.QWidget):
def __init__(self):
super(myPanel, self).__init__()
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.setFixedWidth(520)
self.setFixedHeight(100)
layout = QtGui.QVBoxLayout(self)
Button = QtGui.QPushButton('Use Item 4')
Button.clicked.connect(self.modifyPanel)
layout.addWidget(Button)
def modifyPanel(self):
print ''
#This is where I am stuck, how to access and modify the Panel
myPanel = myPanel()
myPanel.show()
Panel()
Thanks a lot,
Roman
python panel edit access nuke
add a comment |
I created a registered panel in Nuke and I am trying to modify its content by pressing a button in a different Qt Window.
The panel is using the following code :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
class Example(QtGui.QWidget):
def __init__(self):
super(Example,self).__init__()
self.comboBox = QtGui.QComboBox()
self.comboBox.addItems(['Item 1','Item 2','Item 3','Item 4'])
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.comboBox)
pane = nuke.getPaneFor("Example.panel")
panels.registerWidgetAsPanel('Example', 'Example',"", True).addToPane(pane)
Now I am opening another window of a different tool. I am trying to create a bridge between the two tools. I want to modify the value of the ComboBox in the panel by pressing a button in my new Window.
Here is the code for the window :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
def Panel():
class myPanel(QtGui.QWidget):
def __init__(self):
super(myPanel, self).__init__()
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.setFixedWidth(520)
self.setFixedHeight(100)
layout = QtGui.QVBoxLayout(self)
Button = QtGui.QPushButton('Use Item 4')
Button.clicked.connect(self.modifyPanel)
layout.addWidget(Button)
def modifyPanel(self):
print ''
#This is where I am stuck, how to access and modify the Panel
myPanel = myPanel()
myPanel.show()
Panel()
Thanks a lot,
Roman
python panel edit access nuke
add a comment |
I created a registered panel in Nuke and I am trying to modify its content by pressing a button in a different Qt Window.
The panel is using the following code :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
class Example(QtGui.QWidget):
def __init__(self):
super(Example,self).__init__()
self.comboBox = QtGui.QComboBox()
self.comboBox.addItems(['Item 1','Item 2','Item 3','Item 4'])
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.comboBox)
pane = nuke.getPaneFor("Example.panel")
panels.registerWidgetAsPanel('Example', 'Example',"", True).addToPane(pane)
Now I am opening another window of a different tool. I am trying to create a bridge between the two tools. I want to modify the value of the ComboBox in the panel by pressing a button in my new Window.
Here is the code for the window :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
def Panel():
class myPanel(QtGui.QWidget):
def __init__(self):
super(myPanel, self).__init__()
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.setFixedWidth(520)
self.setFixedHeight(100)
layout = QtGui.QVBoxLayout(self)
Button = QtGui.QPushButton('Use Item 4')
Button.clicked.connect(self.modifyPanel)
layout.addWidget(Button)
def modifyPanel(self):
print ''
#This is where I am stuck, how to access and modify the Panel
myPanel = myPanel()
myPanel.show()
Panel()
Thanks a lot,
Roman
python panel edit access nuke
I created a registered panel in Nuke and I am trying to modify its content by pressing a button in a different Qt Window.
The panel is using the following code :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
class Example(QtGui.QWidget):
def __init__(self):
super(Example,self).__init__()
self.comboBox = QtGui.QComboBox()
self.comboBox.addItems(['Item 1','Item 2','Item 3','Item 4'])
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.comboBox)
pane = nuke.getPaneFor("Example.panel")
panels.registerWidgetAsPanel('Example', 'Example',"", True).addToPane(pane)
Now I am opening another window of a different tool. I am trying to create a bridge between the two tools. I want to modify the value of the ComboBox in the panel by pressing a button in my new Window.
Here is the code for the window :
import nuke
try:
## < Nuke11
import PySide.QtGui as QtGui
import PySide.QtCore as QtCore
except:
## >= Nuke11
import PySide2.QtCore as QtCore
import PySide2.QtGui as QtGui
import PySide2.QtWidgets as QtGui
from PySide2.QtWidgets import QWidget as QWidget
def Panel():
class myPanel(QtGui.QWidget):
def __init__(self):
super(myPanel, self).__init__()
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.setFixedWidth(520)
self.setFixedHeight(100)
layout = QtGui.QVBoxLayout(self)
Button = QtGui.QPushButton('Use Item 4')
Button.clicked.connect(self.modifyPanel)
layout.addWidget(Button)
def modifyPanel(self):
print ''
#This is where I am stuck, how to access and modify the Panel
myPanel = myPanel()
myPanel.show()
Panel()
Thanks a lot,
Roman
python panel edit access nuke
python panel edit access nuke
asked Nov 15 '18 at 2:15
RomanRoman
154
154
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53311477%2fmodify-the-value-of-a-registeredpanel-in-nuke-pyqt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53311477%2fmodify-the-value-of-a-registeredpanel-in-nuke-pyqt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown