Exemple #1
0
 def __init__(self, settings, parent=None, description=None):
     super(ConfigDialog, self).__init__(parent)
     
     self.setWindowTitle("Configure source")
     
     self.layout = QGridLayout(self)
     row = 0
     self.widgets = {}
     self.settings = settings
     
     # Settings should be a dictionary
     for name, val in settings.items():
         
         label = QLabel(self)
         label.setText(str(name))
         self.layout.addWidget(label, row, 0, 1, 1)
         
         # Check the type of each setting, and create widgets accordingly
         if isinstance(val, basestring):
             # A string of some kind
             widget = QLineEdit(self)
             widget.setText(val)
         elif isinstance(val, list):
             # A list of alternative values, first is selected
             print("List: ", name)
             continue
         elif isinstance(val, bool):
             widget = QCheckBox(self)
             if val:
                 widget.setCheckState(Qt.CheckState.Checked)
             else:
                 widget.setCheckState(Qt.CheckState.Unchecked)
         elif isinstance(val, (int,long)):
             widget = QLineEdit(self)
             widget.setInputMask("9000000")
             widget.setText(str(val).strip())
         elif isinstance(val, float):
             widget = QLineEdit(self)
             widget.setInputMask("0.00")
             widget.setText(str(val).strip())
         else:
             print("Ignoring: " + name)
             continue
         widget.config = name
         self.widgets[name] = widget
         self.layout.addWidget(widget, row, 1, 1, 1)
         row += 1
     # Add OK and Cancel buttons
     buttonbox = QDialogButtonBox(QDialogButtonBox.Ok
                                  | QDialogButtonBox.Cancel)
     buttonbox.accepted.connect(self.getValues)
     buttonbox.rejected.connect(self.reject)
     self.layout.addWidget(buttonbox, row, 1, 2, 1)