psychopy.gui
- create dialogue boxes¶DlgFromDict
¶psychopy.gui.
DlgFromDict
(dictionary, title='', fixed=(), order=(), tip=None, screen=-1)¶Creates a dialogue box that represents a dictionary of values. Any values changed by the user are change (in-place) by this dialogue box. e.g.:
info = {'Observer':'jwp', 'GratingOri':45, 'ExpVersion': 1.1,
'Group': ['Test', 'Control']}
dictDlg = gui.DlgFromDict(dictionary=info,
title='TestExperiment', fixed=['ExpVersion'])
if dictDlg.OK:
print(info)
else:
print('User Cancelled')
In the code above, the contents of info will be updated to the values returned by the dialogue box.
If the user cancels (rather than pressing OK), then the dictionary remains unchanged. If you want to check whether the user hit OK, then check whether DlgFromDict.OK equals True or False
See GUI.py for a usage demo, including order and tip (tooltip).
Dlg
¶psychopy.gui.
Dlg
(title=u'PsychoPy Dialog', pos=None, size=None, style=None, labelButtonOK=u' OK ', labelButtonCancel=u' Cancel ', screen=-1)¶A simple dialogue box. You can add text or input boxes (sequentially) and then retrieve the values.
see also the function dlgFromDict for an even simpler version
Example
from psychopy import gui
myDlg = gui.Dlg(title="JWP's experiment")
myDlg.addText('Subject info')
myDlg.addField('Name:')
myDlg.addField('Age:', 21)
myDlg.addText('Experiment Info')
myDlg.addField('Grating Ori:',45)
myDlg.addField('Group:', choices=["Test", "Control"])
ok_data = myDlg.show() # show dialog and wait for OK or Cancel
if myDlg.OK: # or if ok_data is not None
print(ok_data)
else:
print('user cancelled')
addField
(label='', initial='', color='', choices=None, tip='', enabled=True)¶Adds a (labelled) input field to the dialogue box, optional text color and tooltip.
If ‘initial’ is a bool, a checkbox will be created. If ‘choices’ is a list or tuple, a dropdown selector is created. Otherwise, a text line entry box is created.
Returns a handle to the field (but not to the label).
addFixedField
(label='', initial='', color='', choices=None, tip='')¶Adds a field to the dialog box (like addField) but the field cannot be edited. e.g. Display experiment version.
show
()¶Presents the dialog and waits for the user to press OK or CANCEL.
If user presses OK button, function returns a list containing the updated values coming from each of the input fields created. Otherwise, None is returned.
Returns: | self.data |
---|
fileOpenDlg()
¶psychopy.gui.
fileOpenDlg
(tryFilePath='', tryFileName='', prompt=u'Select file to open', allowed=None)¶A simple dialogue allowing read access to the file system.
Parameters: |
|
---|
If tryFilePath or tryFileName are empty or invalid then current path and empty names are used to start search.
If user cancels, then None is returned.
fileSaveDlg()
¶psychopy.gui.
fileSaveDlg
(initFilePath='', initFileName='', prompt=u'Select file to save', allowed=None)¶A simple dialogue allowing write access to the file system. (Useful in case you collect an hour of data and then try to save to a non-existent directory!!)
Parameters: |
|
---|
If initFilePath or initFileName are empty or invalid then current path and empty names are used to start search.
If user cancels the None is returned.