The Foundry Nuke - отображает анимированное значение на QLabel

В настоящее время я пытаюсь отобразить значение в QLabel (QLineEdit будет работать тоже) на основе шкалы времени NUKE (или Maya).

Я использую Nuke для запуска кода, и я хотел бы отобразить значение на основе текущего кадра, чтобы отобразить что-то вроде этого:

Текущий кадр 1001, Если я перейду на кадр 1002Я хотел бы QLabel изменить соответственно.

Есть способ сделать это?

import PySide.QtGui as QtGui
import PySide.QtCore as QtCore

def test():
    class framePanel(QtGui.QWidget):
       super(framePanel, self).__init__(self):
           layout = QtGui.QVBoxLayout(self)
           self.label = QtGui.QLabel('This is frame 1001')
           layout.addWidget(self.label)

    framePanel = framePanel()
    framePanel.show()

test()

Благодарю.

1 ответ

Решение

Я написал следующий код для Mac версии The Foundry Nuke 11.2v4, так что есть PySide2 модуль вместо PySide это для предыдущих версий Nuke. Также есть некоторые трогательные различия QtWidgets против QtGui, Для получения текущего кадра вы должны использовать nuke.frame(),

Вот пример с QLabel:

import nuke
from PySide2 import QtGui, QtCore
from PySide2 import QtWidgets

def theTest():  
    class framePanel(QtWidgets.QWidget):
        label = QtWidgets.QLabel("The current frame is: %s" % nuke.frame())
        label.show()
theTest()

И вот пример QMessageBox с динамически изменяющимся значением:

import nuke
import os.path
from PySide2 import QtGui, QtCore
from PySide2 import QtWidgets

def signalEmitter():
    qApplication = QtWidgets.QApplication.activeWindow()
    qApplication.emit(QtCore.SIGNAL('wasChanged()'))

nuke.addKnobChanged(signalEmitter, nodeClass='Viewer')
qmBox = QtWidgets.QMessageBox(None)
qmBox.setText('The current frame is: %s' % nuke.frame())
qmBox.connect(QtCore.SIGNAL("wasChanged()"), lambda: qmBox.setText('The current frame is: %s' % nuke.frame()))
qmBox.setModal(False)
qmBox.show()

QMessageBox не является modal,

Нажмите на эту картинку, чтобы воспроизвести анимацию GIF!

Другие вопросы по тегам