schrodinger.ui.qt.directory_selector module

Module containing DirectorySelector. The widget’s directory selection can be obtained by mapping the widget to a param or alternatively by connecting a slot to the directoryChanged signal.

To use without mapping, hook up the directoryChanged signal to a slot that calls DirectorySelector.getDirPath().

class schrodinger.ui.qt.directory_selector.DirectorySelector(parent: Optional[PyQt6.QtWidgets.QWidget] = None, initial_dir: Optional[str] = None)

Bases: schrodinger.models.mappers.TargetMixin, schrodinger.ui.qt.basewidgets.BaseWidget

Widget for showing an entry field and a browse button to let the user specify a single directory.

Variables

directoryChanged (QtCore.pyqtSignal) – Signal emitted when the directory selection changes.

directoryChanged

A pyqtSignal emitted by instances of the class.

__init__(parent: Optional[PyQt6.QtWidgets.QWidget] = None, initial_dir: Optional[str] = None)
Parameters
  • parent – Parent widget.

  • initial_dir – Initial directory. Default is CWD.

initSetUp()

Creates widget from ui and stores it ui_widget.

Suggested subclass use: create and initialize subwidgets, and connect signals.

initLayOut()

Create a vertical layout for the widget (widget_layout) and populate it with two vertical sub-layouts: main_layout and bottom_layout.

If the user has specified the ui data member, insert the resultant ui_widget into main_layout.

If the widget already has a layout defined, this method will produce a warning (but not a traceback). main_layout and bottom_layout will be inserted into the existing widget layout, which will not be the same as widget_layout. It is therefore recommended that this mixin is used only with widgets that do not already have a layout.

Suggested subclass use: create, initialize, and populate layouts.

setLabelText(text: str)

Set the label text to the left of the line edit.

getDirectoryPath() str

Return the currently selected directory path. Allows access to target

targetGetValue() str

Return the line edit text.

targetSetValue(value: str)

Set the line edit text based for a valid value and emit two signals: targetValueChanged for when this widget mapped to a param, and directoryChanged for when it is not.

Parameters

value – The directory path to set to the line edit.