Source code for pymodaq_gui.utils.list_picker

from qtpy.QtCore import QObject
from qtpy import QtWidgets


[docs] class ListPicker(QObject): def __init__(self, list_str): super(ListPicker, self).__init__() self.list = list_str
[docs] def pick_dialog(self): self.dialog = QtWidgets.QDialog() self.dialog.setMinimumWidth(500) vlayout = QtWidgets.QVBoxLayout() self.list_widget = QtWidgets.QListWidget() self.list_widget.addItems(self.list) vlayout.addWidget(self.list_widget, 10) self.dialog.setLayout(vlayout) buttonBox = QtWidgets.QDialogButtonBox() buttonBox.addButton("Apply", QtWidgets.QDialogButtonBox.ButtonRole.AcceptRole) buttonBox.accepted.connect(self.dialog.accept) buttonBox.addButton('Cancel', QtWidgets.QDialogButtonBox.ButtonRole.RejectRole) buttonBox.rejected.connect(self.dialog.reject) vlayout.addWidget(buttonBox) self.dialog.setWindowTitle('Select an entry in the list') res = self.dialog.show() pass if res == QtWidgets.QDialog.DialogCode.Accepted: # save managers parameters in a xml file return [self.list_widget.currentIndex(), self.list_widget.currentItem().text()] else: return [-1, ""]