13. widgets — A collection of custom widgets used in the pyFormex GUI

A collection of custom widgets used in the pyFormex GUI

The widgets in this module were primarily created in function of the pyFormex GUI. The user can apply them to change the GUI or to add interactive widgets to his scripts. Of course he can also use all the Qt widgets directly.

class widgets.Options
Options objects have the following methods:
class widgets.FileSelection(path='.', pattern='*.*', exist=False, multi=False, dir=False)

A file selection dialog.

You can specify a default path/filename that will be suggested initially. If a pattern is specified, only matching files will be shown. A pattern can be something like Images (*.png *.jpg) or a list of such strings. Default mode is to accept any filename. You can specify exist=True to accept only existing files. Or set exist=True and multi=True to accept multiple files. If dir==True, a single existing directory is asked.

Methods

The constructor shows the widget.

Methods

FileSelection objects have the following methods:

show(timeout=None, timeoutfunc=None, modal=False)
getFilename(timeout=None)

Ask for a filename by user interaction.

Return the filename selected by the user. If the user hits CANCEL or ESC, None is returned.

class widgets.ProjectSelection(path=None, pattern=None, exist=False, compression=4, ignore_signature=True)

A file selection dialog specialized for opening projects.

Methods

Create the dialog.

Methods

ProjectSelection objects have the following methods:

getResult()
class widgets.SaveImageDialog(path=None, pattern=None, exist=False, multi=False)

A dialog for saving to an image file.

The dialog contains the normal file selection widget plus some extra fields to set the Save Image parameters:

  • Whole Window: If checked, the whole pyFormex main window will be saved. If unchecked, only the current OpenGL viewport is saved.

Methods

Create the dialog.

Methods

SaveImageDialog objects have the following methods:

getResult()
class widgets.ImageViewerDialog(path=None)

A dialog to select an image file.

The dialog helps selecting the correct image by displaying the image in an image viewer widget.

Methods

ImageViewerDialog objects have the following methods:

getFilename()

Ask for a filename by user interaction.

Return the filename selected by the user. If the user hits CANCEL or ESC, None is returned.

class widgets.DockedSelection(slist=[], title='Selection Dialog', mode=None, sort=False, func=None)

A widget that is docked in the main window and contains a modeless dialog for selecting items.

Methods

DockedSelection objects have the following methods:

setSelected(selected, bool)
getResult()
class widgets.ModelessSelection(slist=[], title='Selection Dialog', mode=None, sort=False, func=None, width=None, height=None)

A modeless dialog for selecting one or more items from a list.

Methods

Create the SelectionList dialog.

Methods

ModelessSelection objects have the following methods:

setSelected(selected, bool)
Mark the specified items as selected.
getResult()

Return the list of selected values.

If the user cancels the selection operation, the return value is None. Else, the result is always a list, possibly empty or with a single value.

class widgets.Selection(slist=[], title='Selection Dialog', mode=None, sort=False, selected=[])

A dialog for selecting one or more items from a list.

Methods

Create the SelectionList dialog.

selected is a list of items that are initially selected.

Methods

Selection objects have the following methods:

setSelected(selected)
Mark the specified items as selected.
getResult()

Return the list of selected values.

If the user cancels the selection operation, the return value is None. Else, the result is always a list, possibly empty or with a single value.

class widgets.InputItem(name, *args, **kargs)

A single input item, usually with a label in front.

The created widget is a QHBoxLayout which can be embedded in the vertical layout of a dialog.

This is a super class for all input items. It just creates a label. The input field(s) should be added by the dedicated subclass.

The constructor has one required argument: name. It is the name used to identify the item and should be unique for all InputItems in the same dialog. Other (optional) positional parameters are passed to the QHBoxLayout constructor.

By default the constructor adds a label to the QHBoxLayout, with text set by the text keyword argument or (by default) by the name of the item. Use the text argument if you want the displayed text to be different from the items name. A text='' parameter will suppress the label. This is e.g. used in the InputBoolean constructor, where the text is displayed by the input field.

The superclass also defines default values for the text(), value() and setValue() methods.

Subclasses should initialize the superclass as follows: InputItem.__init__(self,name,*args,**kargs)

Subclasses should override:

  • text(): if they called the superclass __init__() method with text='';
  • value(): if they did not create a self.input widget who’s text() is the return value of the item.
  • setValue(): always, unless the field is readonly.

Subclasses can set validators on the input, like input.setValidator(QtGui.QIntValidator(input))

Subclasses can define a show() method e.g. to select the data in the input field on display of the dialog.

Methods

Creates a horizontal box layout and puts the label in it.

Methods

InputItem objects have the following methods:

name()
Return the name of the InputItem.
text()
Return the displayed text of the InputItem.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputInfo(name, value, *args, **kargs)

An unchangeable input field with a label in front.

It is just like an InputString, but the text can not be edited.

There are no specific options.

Methods

Creates the input item.

Methods

InputInfo objects have the following methods:

value()
Return the widget’s value.
class widgets.InputString(name, value, max=None, *args, **kargs)

A string input field with a label in front.

If the type of value is not a string, the input string will be eval’ed before returning.

Options:

  • max: the maximum number of characters in the string.

Methods

Creates the input item.

Methods

InputString objects have the following methods:

show()
Select all text on first display.
value()
Return the widget’s value.
class widgets.InputText(name, value, *args, **kargs)

A scrollable text input field with a label in front.

If the type of value is not a string, the input text will be eval’ed before returning.

There are no specific op[tions.

Methods

Creates the input item.

Methods

InputText objects have the following methods:

show()
Select all text on first display.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputBool(name, value, *args, **kargs)

A boolean input item.

Methods

Creates a new checkbox for the input of a boolean value.

Displays the name next to a checkbox, which will initially be set if value evaluates to True. (Does not use the label) The value is either True or False,depending on the setting of the checkbox.

Methods

InputBool objects have the following methods:

text()
Return the displayed text.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputCombo(name, default, choices=[], onselect=None, *args, **kargs)

A combobox InputItem.

A combobox is a widget allowing the selection of an item from a drop down list.

choices is a list/tuple of possible values. default is the initial/default choice. If default is not in the choices list, it is prepended. If default is None, the first item of choices is taken as the default.

The choices are presented to the user as a combobox, which will initially be set to the default value.

An optional onselect function may be specified, which will be called whenever the current selection changes.

Methods

Create the combobox.

Methods

InputCombo objects have the following methods:

value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputRadio(name, default, choices=[], direction='h', *args, **kargs)

A radiobuttons InputItem.

Radio buttons are a set of buttons used to select a value from a list.

choices is a list/tuple of possible values. default is the initial/default choice. If default is not in the choices list, it is prepended. If default is None, the first item of choices is taken as the default.

The choices are presented to the user as a hbox with radio buttons, of which the default will initially be pressed. If direction == ‘v’, the options are in a vbox.

Methods

Creates the radiobuttons.

Methods

InputRadio objects have the following methods:

value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputPush(name, default=None, choices=[], direction='h', *args, **kargs)

A pushbuttons InputItem.

Methods

Creates pushbuttons for the selection of a value from a list.

choices is a list/tuple of possible values. default is the initial/default choice. If default is not in the choices list, it is prepended. If default is None, the first item of choices is taken as the default.

The choices are presented to the user as a hbox with radio buttons, of which the default will initially be selected. If direction == ‘v’, the options are in a vbox.

Methods

InputPush objects have the following methods:

setText(text, index=0)
Change the text on button index.
setIcon(icon, index=0)
Change the icon on button index.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputInteger(name, value, *args, **kargs)

An integer input item.

Options:

  • ‘min, ‘max’: range of the scale (integer)

Methods

Creates a new integer input field with a label in front.

Methods

InputInteger objects have the following methods:

show()
Select all text on first display.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputFloat(name, value, *args, **kargs)

An float input item.

Methods

Creates a new float input field with a label in front.

Methods

InputFloat objects have the following methods:

show()
Select all text on first display.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputFloatTable(name, value, *args, **kargs)

A table of floats input item.

Methods

Creates a new float table input field.

Methods

InputFloatTable objects have the following methods:

show()
Select all text on first display.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputSlider(name, value, *args, **kargs)

An integer input item using a slider.

Options:

  • min, max: range of the scale (integer)
  • ticks : step for the tick marks (default range length / 10)
  • func : an optional function to be called whenever the value is changed. The function takes a float/integer argument.

Methods

Creates a new integer input slider.

Methods

InputSlider objects have the following methods:

set_value(val)
class widgets.InputFSlider(name, value, *args, **kargs)

A float input item using a slider.

Options:

  • ‘min’, ‘max’: range of the scale (integer)
  • ‘scale’: scale factor to compute the float value
  • ‘ticks’ : step for the tick marks (default range length / 10)
  • ‘func’ : an optional function to be called whenever the value is changed. The function receives the input field as argument. With this argument, the fields attirbutes like name, value, text, can be retrieved.

Methods

Creates a new integer input slider.

Methods

InputFSlider objects have the following methods:

set_value(val)
class widgets.InputColor(name, value, *args, **kargs)

A color input item.

Methods

Creates a new color input field with a label in front.

The color input field is a button displaying the current color. Clicking on the button opens a color dialog, and the returned value is set in the button.

Methods

InputColor objects have the following methods:

setColor()
setValue(value)
Change the widget’s value.
class widgets.InputFont(name, value, *args, **kargs)

An input item to select a font.

Methods

Creates a new font input field.

Methods

InputFont objects have the following methods:

setFont()
class widgets.InputWidget(name, value, *args, **kargs)

An input item containing any other widget.

The widget should have:

  • a results attribute that is set to a dict with the resulting input values when the widget’s acceptData() is called.
  • an acceptData() method, that sets the widgets results dict.
  • a setValue(dict) method that sets the widgets values to those specified in the dict.

The return value of this item is an ODict.

Methods

Creates a new InputWidget.

Methods

InputWidget objects have the following methods:

text()
Return the displayed text.
value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.InputGroup(name, items, *args, **kargs)

A boxed group of InputItems.

Methods

InputGroup objects have the following methods:

value()
Return the widget’s value.
setValue(val)
Change the widget’s value.
class widgets.NewInputDialog(items, caption=None, parent=None, flags=None, actions=None, default=None, scroll=False, store=None, prefix='', autoprefix=False, modal=None)

A dialog widget to interactively set the value of one or more items.

Overview

The pyFormex user has full access to the Qt4 framework on which the GUI was built. Therefore he can built input dialogs as complex and powerful as he can imagine. However, directly dealing with the Qt4 libraries requires some skills and, for simple input widgets, more effort than needed.

The InputDialog class presents a unified system for quick and easy creation of common dialog types. The provided dialog can become quite sophisticated with tabbed pages, groupboxes and custom widgets. Both modal and modeless (non-modal) dialogs can be created.

Items

Each basic input item is a dictionary, where the fields have the following meaning:

  • name: the name of the field,
  • value: the initial or default value of the field,
  • itemtype: the type of values the field can accept,
  • options: a dict with options for the field.
  • text: if specified, the text value will be displayed instead of the name. The name value will remain the key in the return dict. Use this field to display a more descriptive text for the user, while using a short name for handling the value in your script.
  • buttons:
  • tooltip:
  • min:
  • max:
  • scale:
  • func:

Other arguments

  • caption: the window title to be shown in the window decoration
  • actions: a list of action buttons to be added at the bottom of the input form. By default, a Cancel and Ok button will be added, to either reject or accept the input values.
  • default: the default action
  • parent: the parent widget (by default, this is the pyFormex main window)
  • autoprefix: if True, the names of items inside tabs and group boxes will get prefixed with the tab and group names, separated with a ‘/’.
  • flags:
  • modal:

Methods

Create a dialog asking the user for the value of items.

Methods

NewInputDialog objects have the following methods:

add_items(items, form)

Add input items to form.

items is a list of input item data layout is the widget layout where the input widgets will be added

add_tab(name, items)
Add a Tab page of input items.
add_group(name, items)
Add a group of input items.
add_input(item)
Add a single input item.
timeout()
Hide the dialog and set the result code to TIMEOUT
timedOut()
Returns True if the result code was set to TIMEOUT
show(timeout=None, timeoutfunc=None, modal=False)

Show the dialog.

For a non-modal dialog, the user has to call this function to display the dialog. For a modal dialog, this is implicitely executed by getResult().

If a timeout is given, start the timeout timer.

acceptData(result=ACCEPTED)

Update the dialog’s return value from the field values.

This function is connected to the ‘accepted()’ signal. Modal dialogs should normally not need to call it. In non-modal dialogs however, you can call it to update the results without having to raise the accepted() signal (which would close the dialog).

updateData(d)

Update a dialog from the data in given dictionary.

d is a dictionary where the keys are field names in the dialog. The values will be set in the corresponding input items.

getResult(timeout=None)

Get the results from the input dialog.

This fuction is used to present a modal dialog to the user (i.e. a dialog that must be ended before the user can continue with the program. The dialog is shown and user interaction is processed. The user ends the interaction either by accepting the data (e.g. by pressing the OK button or the ENTER key) or by rejecting them (CANCEL button or ESC key). On accept, a dictionary with all the fields and their values is returned. On reject, an empty dictionary is returned.

If a timeout (in seconds) is given, a timer will be started and if no user input is detected during this period, the input dialog returns with the default values set. A value 0 will timeout immediately, a negative value will never timeout. The default is to use the global variable input_timeout.

The result() method can be used to find out how the dialog was ended. Its value will be one of ACCEPTED, REJECTED ot TIMEOUT.

class widgets.OldInputDialog(items, caption=None, parent=None, flags=None, actions=None, default=None, scroll=False)

A dialog widget to set the value of one or more items.

While general input dialogs can be constructed from all the underlying Qt classes, this widget provides a way to construct fairly complex input dialogs with a minimum of effort.

The input dialog can be modal or non-modal dialog.

Methods

Create a dialog asking the user for the value of items.

items is either a list of items, or a dict where each value is a list of items or another dict (where each value is then a list of items). If items is a dict, a tabbed widget will be created with a tab for each (key,value) pair in the dict. If the value is again a dict, then a box will be created for each (key,value) pair in that subdict.

Each item in an items list is a list or tuple of the form (name,value,type,options), where the fields have the following meaning:

  • name: the name of the field,
  • value: the initial or default value of the field,
  • type: the type of values the field can accept,
  • options: a dict with options for the field.

At least the name and initial value need to be specified. The type can often be determined from the initial value. Some types set the initial value from an option if it was an empty string or None. The options dictionary has both generic options, available for all item types, and type specific options.

Each item specifies a single input field, and its value will be contained in the results dictionary using the field name as a key.

For each item a single input line is created in the dialog. This line by default consists of a label displaying the field name and a LineEdit widget where the initial value is displayed and can be changed. Where appropriate, a validator function is attached to it.

The following options are applicable to all item types:

  • text: if specified, the text value will be displayed instead of the name. The name value will remain the key in the return dict. Use this field to display a more descriptive text for the user, while using a short name for handling the value in your script.
  • buttons:
  • tooltip:

Currently, the following item types are available:

The item specific options: - min - max - range: the range of values the field can accept, - choices

The first two fields are mandatory. In many cases the type can be determined from the value and no other fields are required. Thus:

  • [ ‘name’, ‘value’ ] will accept any string (initial string = ‘value’),
  • [ ‘name’, True ] will show a checkbox with the item checked,
  • [ ‘name’, 10 ] will accept any integer,
  • [ ‘name’, 1.5 ] will accept any float.

Range settings for int and float types:

  • [ ‘name’, 1, int, 0, 4 ] will accept an integer from 0 to 4, inclusive
  • [ ‘name’, 1, float, 0.0, 1.0, 2 ] will accept a float in the range from 0.0 to 1.0 with a maximum of two decimals.

Composed types:

  • [ ‘name’, ‘option1’, ‘select’, [‘option0’,’option1’,’option2’]] will present a combobox to select between one of the options. The initial and default value is ‘option1’.
  • [ ‘name’, ‘option1’, ‘radio’, [‘option0’,’option1’,’option2’]] will present a group of radiobuttons to select between one of the options. The initial and default value is ‘option1’. A variant ‘vradio’ aligns the options vertically.
  • [ ‘name’, ‘option1’, ‘push’, [‘option0’,’option1’,’option2’]] will present a group of pushbuttons to select between one of the options. The initial and default value is ‘option1’. A variant ‘vpush’ aligns the options vertically.
  • [ ‘name’, ‘red’, ‘color’ ] will present a color selection widget, with ‘red’ as the initial choice.

Methods

OldInputDialog objects have the following methods:

add_input_items(items, layout)

Add input items.

items is a list of input item data layout is the widget layout where the input widgets will be added

timeout()
Hide the dialog and set the result code to TIMEOUT
timedOut()
Returns True if the result code was set to TIMEOUT
show(timeout=None, timeoutfunc=None, modal=False)

Show the dialog.

For a non-modal dialog, the user has to call this function to display the dialog. For a modal dialog, this is implicitely executed by getResult().

If a timeout is given, start the timeout timer.

acceptData(result=ACCEPTED)

Update the dialog’s return value from the field values.

This function is connected to the ‘accepted()’ signal. Modal dialogs should normally not need to call it. In non-modal dialogs however, you can call it to update the results without having to raise the accepted() signal (which would close the dialog).

updateData(d)

Update a dialog from the data in given dictionary.

d is a dictionary where the keys are field names in the dialog. The values will be set in the corresponding input items.

getResult(timeout=None)

Get the results from the input dialog.

This fuction is used to present a modal dialog to the user (i.e. a dialog that must be ended before the user can continue with the program. The dialog is shown and user interaction is processed. The user ends the interaction either by accepting the data (e.g. by pressing the OK button or the ENTER key) or by rejecting them (CANCEL button or ESC key). On accept, a dictionary with all the fields and their values is returned. On reject, an empty dictionary is returned.

If a timeout (in seconds) is given, a timer will be started and if no user input is detected during this period, the input dialog returns with the default values set. A value 0 will timeout immediately, a negative value will never timeout. The default is to use the global variable input_timeout.

The result() method can be used to find out how the dialog was ended. Its value will be one of ACCEPTED, REJECTED ot TIMEOUT.

class widgets.InputDialog(*args, **kargs)
InputDialog objects have the following methods:
class widgets.TableModel(data, chead=None, rhead=None, edit=True)

A table model that represent data as a two-dimensional array of items.

data is any tabular data organized in a fixed number of rows and colums. This means that an item at row i and column j can be addressed as data[i][j]. Optional lists of column and row headers can be specified.

Methods

TableModel objects have the following methods:

makeEditable(edit=True)
rowCount(parent=None)
columnCount(parent=None)
data(index, role)
headerData(col, orientation, role)
insertRows(row=None, count=None)
removeRows(row=None, count=None)
flags(index)
Return the TableModel flags.
setData(index, value, role=_EDITROLE)
class widgets.ArrayModel(data, chead=None, rhead=None, edit=True)

A TableModel specialized for represents 2D array data.

  • data: a numpy array with two dimensions.
  • chead, rhead: column and row headers. The default will show column and row numbers.
  • edit: if True (default), the data can be edited. Set to False to make the data readonly.

Methods

ArrayModel objects have the following methods:

setData(index, value, role=_EDITROLE)
class widgets.Table(data, chead=None, rhead=None, label=None, edit=True, parent=None)

A widget to show/edit a two-dimensional array of items.

  • data: a 2-D array of items, with nrow rows and ncol columns. If data is an ndarray instance, the Table will use an ArrayModel, else a TableModel. The difference is important when editing the table. Also, an ArrayModel has default row and column headers, while a TableModel doesn’t.
  • chead: an optional list of ncol column headers.
  • rhead: an optional list of nrow row headers.
  • label: currently unused (intended to display an optional label in the upper left corner if both chead and rhead are specified.

Methods

Initialize the Table widget.

Methods

Table objects have the following methods:

class widgets.Tabs(items, parent=None)

Present a list of widgets as a single tabbed widget.

  • items: a list of (header,widget) tuples.
  • caption:
  • parent:

Methods

Create the TabWidget.

Methods

Tabs objects have the following methods:

class widgets.Dialog(widgets, title=None, parent=None, actions=[, ('OK', )], default='OK')

A generic dialog widget.

The dialog if formed by a number of widgets stacked in a vertical box layout. At the bottom is a horizontal button box with possible actions.

  • widgets: a list of widgets to include in the dialog
  • title: the window title for the dialog
  • parent: the parent widget. If None, it is set to GD.GUI.
  • actions: the actions to include in the bottom button box. By default, an ‘OK’ button is displayed to close the dialog. Can be set to None to avoid creation of a button box.
  • default: the default action, ‘OK’ by default.

Methods

Create the Dialog

Methods

Dialog objects have the following methods:

add(widgets, pos=1)
class widgets.TableDialog(data, chead=None, rhead=None, title=None, parent=None, actions=[, ('OK', )], default='OK')

A dialog widget to show/edit a two-dimensional array of items.

A convenience class representing a Table within a dialog.

Methods

Create the Table dialog.

data is a 2-D array of items, with nrow rows and ncol columns. chead is an optional list of ncol column headers. rhead is an optional list of nrow row headers.

Methods

TableDialog objects have the following methods:

class widgets.OldTableDialog(items, caption=None, parent=None, tab=False)

A dialog widget to show two-dimensional arrays of items.

Methods

Create the Table dialog.

If tab = False, a dialog with one table is created and items should be a list [table_header,table_data]. If tab = True, a dialog with multiple pages is created and items should be a list of pages [page_header,table_header,table_data].

Methods

OldTableDialog objects have the following methods:

class widgets.MessageBox(text, format='', level='info', actions=[, 'OK'], default=None, timeout=None, modal=None, parent=None)

A message box is a widget displaying a short text for the user.

The message box displays a text, an optional icon depending on the level and a number of push buttons.

  • text: the text to be shown. This can be either plain text or html or reStructuredText.
  • format: the text format: either ‘plain’, ‘html’ or ‘rest’. Any other value will try automatic recognition. Recognition of plain text and html is automatic. A text is autorecognized to be reStructuredText if its first line starts with ‘..’ and is followed by a blank line.
  • level: defines the icon that will be shown together with the text. If one of ‘question’, ‘info’, ‘warning’ or ‘error’, a matching icon will be shown to hint the user about the type of message. Any other value will suppress the icon.
  • actions: a list of strings. For each string a pushbutton will be created which can be used to exit the dialog and remove the message. By default there is a single button labeled ‘OK’.

When the MessageBox is displayed with the getResult() method, a modal dialog is created, i.e. the user will have to click a button or hit the ESC key before he can continue.

If you want a modeless dialog, allowing the user to continue while the message stays open, use the show() mehod to display it.

Methods

MessageBox objects have the following methods:

show(modal=False)
getResult()

Display the message box and wait for user to click a button.

This will show the message box as a modal dialog, so that the user has to click a button (or hit the ESC key) before he can continue. Returns the text of the button that was clicked or an empty string if ESC was hit.

updateText(text, format='')
class widgets.TextBox(text, format=None, actions=[, 'OK', None], modal=None, parent=None, caption=None, mono=False, timeout=None, flags=None)

Display a text and wait for user response.

Possible choices are ‘OK’ and ‘CANCEL’. The function returns True if the OK button was clicked or ‘ENTER’ was pressed, False if the ‘CANCEL’ button was pressed or ESC was pressed.

Methods

TextBox objects have the following methods:

getResult()
updateText(text, format='')
class widgets.InputBox(*args)

A widget accepting a line of input.

Methods

InputBox objects have the following methods:

class widgets.ButtonBox(name, actions=[], parent=None, stretch=[, -1, -1])

A box with action buttons.

  • name: a label to be displayed in front of the button box. An empty string will suppress it.
  • actions: a list of (button label, button function) tuples. The button function can be a normal callable function, or one of the values widgets.ACCEPTED or widgets.REJECTED. In the latter case, parent should be specified.
  • parent: the parent dialog holding this button box. It should be specified if one of the buttons actions is widgets.ACCEPTED or widgets.REJECTED.

Methods

ButtonBox objects have the following methods:

setText(text, index=0)
setIcon(icon, index=0)
class widgets.ComboBox(name, choices, func=None, *args)

ComboBox objects have the following methods:

setIndex(i)
class widgets.CoordsBox(ndim=3, *args)

A widget displaying the coordinates of a point.

Methods

CoordsBox objects have the following methods:

setValues(values)

Functions defined in the module widgets

widgets.setInputTimeout(timeout)
widgets.addTimeOut(widget, timeout=None, timeoutfunc=None)

Add a timeout to a widget.

  • timeoutfunc is a callable. If None it will be set to the widget’s timeout method if one exists.
  • timeout is a float value. If None, it will be set to to the global input_timeout.

If timeout is positive, a timer will be installed into the widget which will call the timeoutfunc after timeout seconds have elapsed. The timeoutfunc can be any callable, but usually will emit a signal to make the widget accept or reject the input. The timeoutfunc will not be called is if the widget is destructed before the timer has finished.

widgets.selectFont()

Ask the user to select a font.

A font selection dialog widget is displayed and the user is requested to select a font. Returns a font if the user exited the dialog with the OK button. Returns None if the user clicked CANCEL.

widgets.getColor(col=None, caption=None)

Create a color selection dialog and return the selected color.

col is the initial selection. If a valid color is selected, its string name is returned, usually as a hex #RRGGBB string. If the dialog is canceled, None is returned.

widgets.defaultItemType(item)
Guess the InputItem type from the value
widgets.simpleInputItem(name, value=None, itemtype=None)
A convenience function to create an InputItem dictionary
widgets.groupInputItem(name, items=[])
A convenience function to create an InputItem dictionary
widgets.tabInputItem(name, items=[])
A convenience function to create an InputItem dictionary
widgets.compatInputItem(name, value, itemtype=None, kargs={})

A convenience function to create an InputItem dictionary

This function accepts InputItem data in the old format: ( name, value, [ itemtype, [ optionsdict ] ] ) and turns them into a dictionary as required by the new InputItem format.

widgets.inputAny(name, value, itemtype=str)

Create an InputItem of any type, depending on the arguments.

Arguments: only name and value are required

  • name: name of the item, also the key for the return value
  • value: initial value,
  • itemtype: one of the available itemtypes, default derived from value or str if value is not recognized.
  • text: descriptive text displayed on the input dialog, default equal to name
  • choices: a list of posible values (for selection types)
  • min,max: limits for range types
  • validator: customized validation function
widgets.inputAnyOld(item, parent=None)

Create an InputItem with the old data style.

This translates the data from the legacy InputItem data to the new style required by InputAny. Returns the InputItem constrctured with the data.

widgets.updateDialogItems(data, newdata)

Update the input data fields with new data values

data: a list of dialog items, as required by an InputDialog. newdata: a dictionary with new values for (some of) the items. The values in data which have a matching key in newdata will be replaced with the new value, unless it is None.

This function requires that the dialog items are lists, not tuples.

widgets.updateText(widget, text, format='')

Update the text of a text display widget.

  • widget: a widget that has the setText(), setPlainText() and setHtml() methods to set the widget’s text. Examples are QMessageBox and QTextEdit.
  • text: a multiline string with the text to be displayed.
  • format: the format of the text. If empty, autorecognition will be tried. Currently available formats are: plain, html and rest (reStructuredText).

This function allows to display other text formats besides the plain text and html supported by the widget. Any format other than plain or html will be converted to one of these before sending it to the widget. Currently, we convert the following formats:

rest (reStructuredText):
If the :mod:docutils is available, rest text is converted to html, otherwise it will be displayed as plain text. A text is autorecognized as reStructuredText if its first line starts with ‘..’. Note: If you add a ‘..’ line to your text to have it autorecognized as reST, be sure to have it followed with a blank line, or your first paragraph could be turned into comments.
widgets.dialogButtons(dialog, actions, default=None)

Create a set of dialog buttons

dia is a dialog widget actions is a list of tuples (name,) or (name,function). If a function is specified, it will be executed on pressing the button. If no function is specified, and name is one of ‘ok’ or ‘cancel’ (case does not matter), the button will be bound to the dialog’s ‘accept’ or ‘reject’ slot. default is the name of the action to set as the default.

Documentation

Previous topic

12. elements — Element local coordinates and numbering.

Next topic

14. menu — Menus for the pyFormex GUI.

This Page