Добавление параметра на этапе инициализации

#python #qtablewidget #qtablewidgetitem

#python #qtablewidget #qtablewidgetitem

Вопрос:

Я пытаюсь добавить параметр, state в __init__ моем диалоговом окне следующим образом:

 class dialog_test(QtGui.QDialog):
    def __init__(self, state, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.setWindowTitle('Dialog Testing')
        self.setModal(False)
        self.state = state
        if self.state == "stack":
            # Run the function if the state is stack
        if self.state == "user":
            # Run the function if the state is user

        ...

def open_dialog():
    current_selection = cmds.ls(sl=True)
    if len(current_selection) == 1 and cmds.nodeType(current_selection) == 'stack':
        check_for_nodes = main_code.get_nodes_in_scene()
        state = "stack"
    elif len(current_selection) > 1:
        for items in current_selection:
            if not 'Stack' in cmds.nodeType(items):
                state = "user"
            else:
                cmds.warning("Please reselect")
                return

    dialog = dialog_test(state)
    dialog.show()
    return dialog
  

Во-первых, правильный ли это способ сделать это, мне кажется, он очень сложный и будут ли у него какие-либо проблемы?
Я спросил, потому что я все еще использую state в своей последней части кода

Комментарии:

1. это стандартный метод добавления параметра.

2. не задавайте два разных вопроса — создайте новый поток. Кроме того, сначала попробуйте свой код, а затем задайте вопрос.

3. @furas Итак, я удалил свой второй вопрос. В любом случае, я опробовал свой код, сначала кажется, что он работает, затем нет, также я не уверен, правильный ли это подход для этого