@_set_control_value.register(QCheckBox) def _(check: QCheckBox, value: bool): check.setChecked(value) @_set_control_value.register(QLineEdit) def _(edit: QLineEdit, value: str): edit.setText(value) if __name__ == "__main__": from AnyQt.QtWidgets import QPushButton app = QApplication(sys.argv) w = QDialog() w.setFixedSize(400, 200) _items = ["Foo", "Bar", "Baz", "Foo Bar", "Foo Baz", "Bar Baz"] _settings = { "Box 1": { "Item 1": { "Parameter 1": (_items[:10], _items[0]), "Parameter 2": (_items[:10], _items[0]), "Parameter 3": (range(4, 20), 5) }, "Item 2": { "Parameter 1": (_items[:10], _items[1]), "Parameter 2": (range(4, 20), 6), "Parameter 3": (range(4, 20), 7) }, "Item 3": {