qmm.settings.core_dialogs module

Constructors for the setting window.

Some of the design and code were influenced by Spyder Ide. Spyder IDE is released under MIT.

The setting window has two major elements:

  1. A side bar on the left listing the different pages

  2. A content area on the right with the selected page widgets

Names

Sections

Page name

  • Page widget

  • Page widget

  • Page widget

  • Page widget

  • Page widget

Page name

Page name

Yes / No

class qmm.settings.core_dialogs.Page(parent, verbose_mode=False)[source]

Bases: QWidget

ICON = None
NAME = None
c_browsedir(text, confkey, tip=None, restart=False, placeholder=None)[source]
c_combobox(text, choices, confkey, restart=False, tip=None)[source]
c_lineedit(text, confkey, restart=False, **qtparams)[source]
get_icon()[source]
get_name()[source]
init_page()[source]
load_configuration()[source]
prompt_restart_required(changed_elements)[source]

Prompt user to restart software.

save()[source]
select_directory(lineedit)[source]
setup_ui()[source]
show_this_page

str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

Type:

pyqtSignal(*types, name

validate()[source]
class qmm.settings.core_dialogs.PreferencesDialog(parent=None)[source]

Bases: QDialog

accept()[source]

Go through all the pages and save everything.

add_page(widget)[source]
button_clicked(button)[source]

Save a specific page

checkbox_toggled(checkbox)[source]

Enable descriptive help.

get_page(index=None)[source]
qmm.settings.core_dialogs.create_button(text, callback)[source]
qmm.settings.core_dialogs.make_layout(parent, align, *widgets)[source]

Generate a box layout depending of align.

qmm.settings.core_dialogs.make_verbose_layout(parent, align, helper, *widgets)[source]

Generate a GridLayout, insert extra helper widget on the second row.

The helper widget is supposed to be a QLabel. Tries to respect align.