Подокно GUI MDI отображается только при первом нажатии кнопки

Я надеюсь, у меня есть простой вопрос здесь. Я создал очень большой графический интерфейс с QT Designer и подокном для области MDI. Я использовал Pyuic5, чтобы преобразовать его из .ui подать в .py файл. Я написал функцию, чтобы открыть это подокно при нажатии кнопки. При первом нажатии на кнопку все работает нормально. У меня проблема во второй раз, когда кнопка нажата, она просто отображает пустое подокно в области MDI. Как мне заставить его правильно отображаться при каждом нажатии кнопки. Я приложу код для того, как я запускаю подокно ниже. Любой совет будет очень признателен. Спасибо за ваше время и вашу помощь

Код, который вызывается при нажатии кнопки

def windowaction(self):

    sub = QtWidgets.QMdiSubWindow()
    sub.setWidget(self.Load_Input)
    sub.setObjectName("Load_Input_window")
    sub.setWindowTitle("Load Input")
    self.mdiArea.addSubWindow(sub)
    sub.show()

Первое нажатие на кнопку Первый раз нажав кнопку

Второй раз нажав на кнопку Второй раз нажав кнопку

1 ответ

Решение

Проблема возникает из-за добавления одного и того же объекта виджета в разные QMdiSubWindowнеобходимо создать новый объект и добавить его в новый QMdiSubWindow,

def windowaction(self):
    sub = QtWidgets.QMdiSubWindow()
    Load_Input = LoadInput()
    sub.setWidget(Load_Input)
    sub.setObjectName("Load_Input_window")
    sub.setWindowTitle("Load Input")
    self.mdiArea.addSubWindow(sub)
    sub.show()
Другие вопросы по тегам