# control.controlwindow:ControlWindow


Base class for control GUIs.


Usage

``` python
control.controlwindow:ControlWindow(
    name,
    guidicts=None,
    extra_cmds=None,
    parent=None,
    package="matr1x",
    logging=False,
    port=scpi_tcpserver.DEFAULT_PORT,
)
```


Prepares a lot of things behind the scenes for use in typical control GUIs.


## Parameters


`name: str`  
Identifier string of the control GUI.

`guidicts: GuiDict or GuiDict subclass, or a list or tuple of those = None`  
GuiDict object(s) which build the basis of the controlGUI. Their Systems must have unique names that are valid, non-keyword Python identifiers.

`extra_cmds: dict = None`  
Dictionary of commands offered for the measurement system. Commands from the GuiDict object are merged together with this list.

`parent: QWidget = None`  
Qt parent widget.

`package: str = ``"matr1x"`  
Package name used in the generated log files.

`logging: bool or int = ``False`  
Flag to enable logging on startup of the control GUI. If a numerical value is given, the integer part of it will be used as interval (in seconds) for the logging function.

`port: int = scpi_tcpserver.DEFAULT_PORT`  
TCP port number for the control GUI SCPI server socket.
