PyQt — сохранять и восстанавливать динамически добавляемые вкладки с различными типами виджетов с помощью QSettings

Я хочу сохранить всю информацию и восстановить нажатие кнопки для моего приложения с помощью QSettings. Я использовал код из Как сохранить выбранные Элементы в Qsettings из QListWidget, QTableWidget

Код из принятого ответа отредактирован для работы с QLineEdit/QComboBox/QRadioButton/QCheckBox/QListView/QTableView

Мое приложение сохраняется при выходе и восстанавливается при нажатии кнопки панели инструментов главного окна.

Моя проблема в том, что код отлично работает, если вкладки статичны, однако при добавлении динамических вкладок возникают следующие проблемы:

  1. При запуске у него есть только одна основная вкладка, поэтому ему нужно создать количество вкладок, которое было при сохранении настроек - возможно, просто получить количество вкладок и в методе восстановления программно добавить количество вкладок

  2. Если вы добавите то же количество вкладок, что и при выходе, он скопирует информацию о виджетах с активной вкладки при выходе.

Моя проблема с № 1 заключается в том, что я не знаю, как я могу вызвать свой метод addNewTab() для программного добавления вкладки после того, как я получу количество вкладок из файла QSetting.

Мой общий вопрос: как я могу реализовать желаемый код QSettings для работы с динамически создаваемыми вкладками?

Рабочий пример:

https://github.com/David52920/QSettings.git

Test_MDI.py — основной файл


person dree    schedule 22.05.2020    source источник