sas.qtgui.Utilities package¶
Subpackages¶
- sas.qtgui.Utilities.About package
- sas.qtgui.Utilities.CustomGUI package
- Submodules
- sas.qtgui.Utilities.CustomGUI.CodeEditor module
QCodeEditorQCodeEditor.__doc__QCodeEditor.__init__()QCodeEditor.__module__QCodeEditor.highlightCurrentLine()QCodeEditor.lineNumberAreaPaintEvent()QCodeEditor.lineNumberAreaWidth()QCodeEditor.resizeEvent()QCodeEditor.staticMetaObjectQCodeEditor.updateLineNumberArea()QCodeEditor.updateLineNumberAreaWidth()
QLineNumberArea
- sas.qtgui.Utilities.CustomGUI.ParameterTree module
- Module contents
- sas.qtgui.Utilities.ModelEditors package
- Subpackages
- sas.qtgui.Utilities.ModelEditors.AddMultEditor package
- Subpackages
- Submodules
- sas.qtgui.Utilities.ModelEditors.AddMultEditor.AddMultEditor module
AddMultEditorAddMultEditor.__doc__AddMultEditor.__init__()AddMultEditor.__module__AddMultEditor._checkIfLayered()AddMultEditor._updateModelLists()AddMultEditor.onApply()AddMultEditor.onHelp()AddMultEditor.onNameCheck()AddMultEditor.onOperatorChange()AddMultEditor.onOverwrite()AddMultEditor.readModels()AddMultEditor.setupModels()AddMultEditor.setupSignals()AddMultEditor.staticMetaObjectAddMultEditor.updateModels()AddMultEditor.write_new_model_to_file()
- Module contents
- sas.qtgui.Utilities.ModelEditors.Dialogs package
- Subpackages
- Submodules
- sas.qtgui.Utilities.ModelEditors.Dialogs.ModelSelector module
ModelSelectorModelSelector.__doc__ModelSelector.__init__()ModelSelector.__module__ModelSelector._find_parameters_from_kernel_module()ModelSelector.addSignals()ModelSelector.customModels()ModelSelector.getParameters()ModelSelector.onClose()ModelSelector.onLoad()ModelSelector.onLoadModel()ModelSelector.onSelectionChanged()ModelSelector.populateModelTree()ModelSelector.readCustomCategoryInfo()ModelSelector.regenerateModelDict()ModelSelector.returnModelParamsSignalModelSelector.setupModelDict()ModelSelector.staticMetaObject
- sas.qtgui.Utilities.ModelEditors.Dialogs.ParameterEditDialog module
ParameterEditDialogParameterEditDialog.__doc__ParameterEditDialog.__init__()ParameterEditDialog.__module__ParameterEditDialog.addSignals()ParameterEditDialog.adjustTableSize()ParameterEditDialog.getValues()ParameterEditDialog.getValuesFromTable()ParameterEditDialog.onCellPressed()ParameterEditDialog.onClose()ParameterEditDialog.onLoad()ParameterEditDialog.onSave()ParameterEditDialog.returnEditedParamSignalParameterEditDialog.returnNewParamsSignalParameterEditDialog.staticMetaObjectParameterEditDialog.writeValuesToTable()
- Module contents
- sas.qtgui.Utilities.ModelEditors.ReparamEditor package
- Subpackages
- Submodules
- sas.qtgui.Utilities.ModelEditors.ReparamEditor.ReparameterizationEditor module
ReparameterizationEditorReparameterizationEditor.__doc__ReparameterizationEditor.__init__()ReparameterizationEditor.__module__ReparameterizationEditor._can_be_saved_or_give_error()ReparameterizationEditor.addSignals()ReparameterizationEditor.addSubItems()ReparameterizationEditor.addTooltips()ReparameterizationEditor.badPropsCheck()ReparameterizationEditor.checkDuplicates()ReparameterizationEditor.checkModel()ReparameterizationEditor.closeEvent()ReparameterizationEditor.editSelected()ReparameterizationEditor.editorModelModified()ReparameterizationEditor.generateModelText()ReparameterizationEditor.getParamProperties()ReparameterizationEditor.getParameterSelection()ReparameterizationEditor.loadParams()ReparameterizationEditor.onAddParam()ReparameterizationEditor.onApply()ReparameterizationEditor.onDeleteParam()ReparameterizationEditor.onHelp()ReparameterizationEditor.onLoad()ReparameterizationEditor.onModelHelp()ReparameterizationEditor.onSelectModel()ReparameterizationEditor.parameterWarning()ReparameterizationEditor.removeParameterWarning()ReparameterizationEditor.setWindowEdited()ReparameterizationEditor.staticMetaObjectReparameterizationEditor.updateParam()ReparameterizationEditor.writeModel()
- Module contents
- sas.qtgui.Utilities.ModelEditors.TabbedEditor package
- Subpackages
- sas.qtgui.Utilities.ModelEditors.TabbedEditor.UI package
- Submodules
- sas.qtgui.Utilities.ModelEditors.TabbedEditor.ModelEditor module
- sas.qtgui.Utilities.ModelEditors.TabbedEditor.PluginDefinition module
PluginDefinitionPluginDefinition.__doc__PluginDefinition.__init__()PluginDefinition.__module__PluginDefinition._checkCell()PluginDefinition._updateParamTable()PluginDefinition.addSignals()PluginDefinition.addTooltips()PluginDefinition.addWidgets()PluginDefinition.checkPyModelExists()PluginDefinition.enablePyCheckboxSignalPluginDefinition.getModel()PluginDefinition.includePolydisperseFuncsSignalPluginDefinition.initializeModel()PluginDefinition.modelModifiedPluginDefinition.omitPolydisperseFuncsSignalPluginDefinition.onDescriptionChanged()PluginDefinition.onFormVolumeFunctionChanged()PluginDefinition.onFunctionChanged()PluginDefinition.onGenC()PluginDefinition.onGenPython()PluginDefinition.onOverwrite()PluginDefinition.onParamsChanged()PluginDefinition.onParamsPDChanged()PluginDefinition.onPluginNameChanged()PluginDefinition.sendNewDescriptionSignalPluginDefinition.sendNewFormVolumeSignalPluginDefinition.sendNewIqSignalPluginDefinition.sendNewParamSignalPluginDefinition.setModelTypeCheckBoxEnabledState()PluginDefinition.staticMetaObjectPluginDefinition.updateParamTableFromEditor()
remove_empty_table_rows()
- sas.qtgui.Utilities.ModelEditors.TabbedEditor.TabbedModelEditor module
TabbedModelEditorTabbedModelEditor.FunctionBodyExtractorTabbedModelEditor.__doc__TabbedModelEditor.__init__()TabbedModelEditor.__module__TabbedModelEditor._checkForErrorsInModelStrs()TabbedModelEditor._onApply()TabbedModelEditor.addSignals()TabbedModelEditor.addTab()TabbedModelEditor.addWidgets()TabbedModelEditor.allBuiltinModels()TabbedModelEditor.applySignalTabbedModelEditor.canWriteModel()TabbedModelEditor.closeEvent()TabbedModelEditor.createOrUpdateTab()TabbedModelEditor.editorModelModified()TabbedModelEditor.extractFunctionBody()TabbedModelEditor.findFirstError()TabbedModelEditor.generateCModel()TabbedModelEditor.generatePyModel()TabbedModelEditor.getModel()TabbedModelEditor.getParamHelper()TabbedModelEditor.includePolydisperseFuncs()TabbedModelEditor.isWidgetInTab()TabbedModelEditor.loadFile()TabbedModelEditor.noModelCheckWarning()TabbedModelEditor.omitPolydisperseFuncs()TabbedModelEditor.onApply()TabbedModelEditor.onCancel()TabbedModelEditor.onHelp()TabbedModelEditor.onLoad()TabbedModelEditor.onModifiedExit()TabbedModelEditor.pluginTitleSet()TabbedModelEditor.populateWidgetTextBox()TabbedModelEditor.regenerateDocumentation()TabbedModelEditor.saveClose()TabbedModelEditor.saveOverrideWarning()TabbedModelEditor.setPluginActive()TabbedModelEditor.setTabEdited()TabbedModelEditor.staticMetaObjectTabbedModelEditor.strFromParamDict()TabbedModelEditor.updateFromEditor()TabbedModelEditor.updateFromPlugin()TabbedModelEditor.updateToPlugin()TabbedModelEditor.writeFile()
- Module contents
- Subpackages
- sas.qtgui.Utilities.ModelEditors.AddMultEditor package
- Module contents
- Subpackages
- sas.qtgui.Utilities.MuMag package
- Subpackages
- Submodules
- sas.qtgui.Utilities.MuMag.MuMag module
- sas.qtgui.Utilities.MuMag.MuMagLib module
MuMagLibMuMagLib.__dict__MuMagLib.__doc__MuMagLib.__module__MuMagLib.__weakref__MuMagLib._filename_string()MuMagLib.directory_popup()MuMagLib.import_data()MuMagLib.least_squares_parallel()MuMagLib.least_squares_perpendicular()MuMagLib.loggerMuMagLib.mu_0MuMagLib.nice_log_plot_bounds()MuMagLib.refine_exchange_A()MuMagLib.save_data()MuMagLib.simple_fit()MuMagLib.sweep_exchange_A()MuMagLib.uncertainty()
- sas.qtgui.Utilities.MuMag.datastructures module
ExperimentGeometryExperimentalDataExperimentalData.__annotations__ExperimentalData.__dataclass_fields__ExperimentalData.__dataclass_params__ExperimentalData.__dict__ExperimentalData.__doc__ExperimentalData.__eq__()ExperimentalData.__hash__ExperimentalData.__init__()ExperimentalData.__match_args__ExperimentalData.__module__ExperimentalData.__repr__()ExperimentalData.__weakref__ExperimentalData.applied_fieldExperimentalData.demagnetising_fieldExperimentalData.restrict_by_index()ExperimentalData.saturation_magnetisationExperimentalData.scattering_curve
FitFailureFitParametersFitParameters.__annotations__FitParameters.__dataclass_fields__FitParameters.__dataclass_params__FitParameters.__dict__FitParameters.__doc__FitParameters.__eq__()FitParameters.__hash__FitParameters.__init__()FitParameters.__match_args__FitParameters.__module__FitParameters.__repr__()FitParameters.__weakref__FitParameters.exchange_A_maxFitParameters.exchange_A_minFitParameters.exchange_A_nFitParameters.experiment_geometryFitParameters.min_applied_fieldFitParameters.q_max
FitResultsFitResults.__annotations__FitResults.__dataclass_fields__FitResults.__dataclass_params__FitResults.__dict__FitResults.__doc__FitResults.__eq__()FitResults.__hash__FitResults.__init__()FitResults.__match_args__FitResults.__module__FitResults.__repr__()FitResults.__weakref__FitResults.input_dataFitResults.optimal_exchange_A_uncertaintyFitResults.parametersFitResults.refined_fit_dataFitResults.sweep_data
LeastSquaresOutputLeastSquaresOutput.I_residualLeastSquaresOutput.I_residual_stdevLeastSquaresOutput.I_simulatedLeastSquaresOutput.S_HLeastSquaresOutput.S_H_stdevLeastSquaresOutput.__annotations__LeastSquaresOutput.__dataclass_fields__LeastSquaresOutput.__dataclass_params__LeastSquaresOutput.__dict__LeastSquaresOutput.__doc__LeastSquaresOutput.__eq__()LeastSquaresOutput.__hash__LeastSquaresOutput.__init__()LeastSquaresOutput.__match_args__LeastSquaresOutput.__module__LeastSquaresOutput.__repr__()LeastSquaresOutput.__weakref__LeastSquaresOutput.exchange_ALeastSquaresOutput.exchange_A_chi_sqLeastSquaresOutput.q
LeastSquaresOutputParallelLeastSquaresOutputParallel.__annotations__LeastSquaresOutputParallel.__dataclass_fields__LeastSquaresOutputParallel.__dataclass_params__LeastSquaresOutputParallel.__doc__LeastSquaresOutputParallel.__eq__()LeastSquaresOutputParallel.__hash__LeastSquaresOutputParallel.__init__()LeastSquaresOutputParallel.__match_args__LeastSquaresOutputParallel.__module__LeastSquaresOutputParallel.__repr__()
LeastSquaresOutputPerpendicularLeastSquaresOutputPerpendicular.S_MLeastSquaresOutputPerpendicular.S_M_stdevLeastSquaresOutputPerpendicular.__annotations__LeastSquaresOutputPerpendicular.__dataclass_fields__LeastSquaresOutputPerpendicular.__dataclass_params__LeastSquaresOutputPerpendicular.__doc__LeastSquaresOutputPerpendicular.__eq__()LeastSquaresOutputPerpendicular.__hash__LeastSquaresOutputPerpendicular.__init__()LeastSquaresOutputPerpendicular.__match_args__LeastSquaresOutputPerpendicular.__module__LeastSquaresOutputPerpendicular.__repr__()
LoadFailureSweepOutputSweepOutput.__annotations__SweepOutput.__dataclass_fields__SweepOutput.__dataclass_params__SweepOutput.__dict__SweepOutput.__doc__SweepOutput.__eq__()SweepOutput.__hash__SweepOutput.__init__()SweepOutput.__match_args__SweepOutput.__module__SweepOutput.__orig_bases__SweepOutput.__parameters__SweepOutput.__repr__()SweepOutput.__weakref__SweepOutput.exchange_A_checkedSweepOutput.exchange_A_chi_sqSweepOutput.optimal
- sas.qtgui.Utilities.MuMag.models module
- Module contents
- sas.qtgui.Utilities.NewVersion package
- sas.qtgui.Utilities.OrientationViewer package
- Subpackages
- sas.qtgui.Utilities.OrientationViewer.UI package
- Submodules
- sas.qtgui.Utilities.OrientationViewer.UI.OrientationViewerControllerUI module
Ui_OrientationViewierControllerUIUi_OrientationViewierControllerUI.__annotations__Ui_OrientationViewierControllerUI.__dict__Ui_OrientationViewierControllerUI.__doc__Ui_OrientationViewierControllerUI.__module__Ui_OrientationViewierControllerUI.__weakref__Ui_OrientationViewierControllerUI.retranslateUi()Ui_OrientationViewierControllerUI.setupUi()
- Module contents
- sas.qtgui.Utilities.OrientationViewer.UI package
- Submodules
- sas.qtgui.Utilities.OrientationViewer.OrientationViewer module
OrientationViewerOrientationViewer.__doc__OrientationViewer.__init__()OrientationViewer.__module__OrientationViewer._set_image_data()OrientationViewer.aOrientationViewer.arrow_colorOrientationViewer.arrow_sizeOrientationViewer.bOrientationViewer.cOrientationViewer.closeEvent()OrientationViewer.colormapOrientationViewer.create_calculator()OrientationViewer.create_ghost()OrientationViewer.cube_colorOrientationViewer.ghost_colorOrientationViewer.log_I_maxOrientationViewer.log_I_minOrientationViewer.log_I_rangeOrientationViewer.n_ghosts_per_perameterOrientationViewer.n_q_samplesOrientationViewer.onHelp()OrientationViewer.on_angle_changed()OrientationViewer.on_angle_changing()OrientationViewer.orient_ghosts()OrientationViewer.polydispersity_distributionOrientationViewer.polydispersity_sample_count()OrientationViewer.q_maxOrientationViewer.scattering_data()OrientationViewer.screen_scaleOrientationViewer.staticMetaObject
main()show_orientation_viewer()
- sas.qtgui.Utilities.OrientationViewer.OrientationViewerController module
OrientationOrientation.__annotations__Orientation.__doc__Orientation.__getnewargs__()Orientation.__match_args__Orientation.__module__Orientation.__new__()Orientation.__orig_bases__Orientation.__repr__()Orientation.__slots__Orientation._asdict()Orientation._field_defaultsOrientation._fieldsOrientation._make()Orientation._replace()Orientation.dphiOrientation.dpsiOrientation.dthetaOrientation.phiOrientation.psiOrientation.theta
OrientationViewierControllerOrientationViewierController.__doc__OrientationViewierController.__init__()OrientationViewierController.__module__OrientationViewierController.onSliderMoved()OrientationViewierController.onSliderSet()OrientationViewierController.setLabels()OrientationViewierController.sliderMovedOrientationViewierController.sliderSetOrientationViewierController.staticMetaObject
main()
- Module contents
- Subpackages
- sas.qtgui.Utilities.Preferences package
- Subpackages
- Submodules
- sas.qtgui.Utilities.Preferences.DisplayPreferencesWidget module
- sas.qtgui.Utilities.Preferences.PlottingPreferencesWidget module
- sas.qtgui.Utilities.Preferences.PreferencesPanel module
PreferencesPanelPreferencesPanel.__doc__PreferencesPanel.__init__()PreferencesPanel.__module__PreferencesPanel._cancelStaging()PreferencesPanel._okClicked()PreferencesPanel._reset_state()PreferencesPanel._saveStagedChanges()PreferencesPanel._set_accept()PreferencesPanel.addWidget()PreferencesPanel.addWidgets()PreferencesPanel.close()PreferencesPanel.closeEvent()PreferencesPanel.help()PreferencesPanel.prefMenuChanged()PreferencesPanel.registerPerspectivePreferences()PreferencesPanel.restoreDefaultPreferences()PreferencesPanel.setMenuByName()PreferencesPanel.setWidgetIndex()PreferencesPanel.set_invalid_input()PreferencesPanel.stageSingleChange()PreferencesPanel.staticMetaObjectPreferencesPanel.unStageSingleChange()PreferencesPanel.unset_invalid_input()
restart_main()
- sas.qtgui.Utilities.Preferences.PreferencesWidget module
PrefDoubleValidatorPrefFloatEditPrefIntEditPreferencesWidgetPreferencesWidget.__doc__PreferencesWidget.__init__()PreferencesWidget.__module__PreferencesWidget._addAllWidgets()PreferencesWidget._createLayoutAndTitle()PreferencesWidget._restoreFromConfig()PreferencesWidget._setInvalid()PreferencesWidget._stageChange()PreferencesWidget._toggleBlockAllSignaling()PreferencesWidget._unStageChange()PreferencesWidget._validate_input_and_stage()PreferencesWidget.addCheckBox()PreferencesWidget.addComboBox()PreferencesWidget.addFloatInput()PreferencesWidget.addHeaderText()PreferencesWidget.addHorizontalLine()PreferencesWidget.addIntegerInput()PreferencesWidget.addTextInput()PreferencesWidget.applyNonConfigValues()PreferencesWidget.restoreDefaults()PreferencesWidget.restoreGUIValuesFromConfig()PreferencesWidget.staticMetaObject
QHLinecb_replace_all_items_with_new()
- Module contents
- sas.qtgui.Utilities.Reports package
- Subpackages
- Submodules
- sas.qtgui.Utilities.Reports.ReportDialog module
- sas.qtgui.Utilities.Reports.reportdata module
ReportDataReportData.__annotations__ReportData.__dataclass_fields__ReportData.__dataclass_params__ReportData.__dict__ReportData.__doc__ReportData.__eq__()ReportData.__hash__ReportData.__init__()ReportData.__match_args__ReportData.__module__ReportData.__repr__()ReportData.__weakref__ReportData.htmlReportData.text
- sas.qtgui.Utilities.Reports.reports module
ReportBaseReportBase.__dict__ReportBase.__doc__ReportBase.__init__()ReportBase.__module__ReportBase.__weakref__ReportBase._add_plot_png()ReportBase._add_plot_svg()ReportBase.add_data_details()ReportBase.add_image_from_bytes()ReportBase.add_image_from_file()ReportBase.add_plot()ReportBase.add_table()ReportBase.add_table_dict()ReportBase.htmlReportBase.report_dataReportBase.save_html()ReportBase.save_pdf()ReportBase.save_text()ReportBase.text
main()pretty_units
- Module contents
- sas.qtgui.Utilities.UI package
- Submodules
- sas.qtgui.Utilities.UI.DocRegenInProgress module
- sas.qtgui.Utilities.UI.DocViewWidgetUI module
- sas.qtgui.Utilities.UI.FileConverterUI module
- sas.qtgui.Utilities.UI.FrameSelectUI module
- sas.qtgui.Utilities.UI.GridPanelUI module
- sas.qtgui.Utilities.UI.ImageViewerOptionsUI module
- sas.qtgui.Utilities.UI.ImageViewerUI module
- sas.qtgui.Utilities.UI.PluginManagerUI module
- sas.qtgui.Utilities.UI.PreferencesUI module
- Module contents
- sas.qtgui.Utilities.WhatsNew package
Submodules¶
sas.qtgui.Utilities.CategoryInstaller module¶
Class for making sure all category stuff is installed and works fine.
Copyright (c) Institut Laue-Langevin 2012
@author kieranrcampbell@gmail.com @modified by NIST/MD sasview team
- class sas.qtgui.Utilities.CategoryInstaller.CategoryInstaller¶
Bases:
objectClass for making sure all category stuff is installed
Note - class is entirely static!
- __dict__ = mappingproxy({'__module__': 'sas.qtgui.Utilities.CategoryInstaller', '__doc__': '\n Class for making sure all category stuff is installed\n\n Note - class is entirely static!\n ', '__init__': <function CategoryInstaller.__init__>, '_get_home_dir': <staticmethod(<function CategoryInstaller._get_home_dir>)>, '_regenerate_model_dict': <staticmethod(<function CategoryInstaller._regenerate_model_dict>)>, '_regenerate_master_dict': <staticmethod(<function CategoryInstaller._regenerate_master_dict>)>, 'get_user_file': <staticmethod(<function CategoryInstaller.get_user_file>)>, 'get_default_file': <staticmethod(<function CategoryInstaller.get_default_file>)>, 'check_install': <staticmethod(<function CategoryInstaller.check_install>)>, '__dict__': <attribute '__dict__' of 'CategoryInstaller' objects>, '__weakref__': <attribute '__weakref__' of 'CategoryInstaller' objects>, '__annotations__': {}})¶
- __doc__ = '\n Class for making sure all category stuff is installed\n\n Note - class is entirely static!\n '¶
- __init__()¶
initialization
- __module__ = 'sas.qtgui.Utilities.CategoryInstaller'¶
- __weakref__¶
list of weak references to the object
- static _get_home_dir()¶
returns the users sasview config dir
- static _regenerate_master_dict(by_model_dict, model_enabled_dict)¶
regenerates master_category_dict from by_model_dict and model_enabled_dict returns the master category dictionary
- static _regenerate_model_dict(master_category_dict)¶
regenerates self.by_model_dict which has each model name as the key and the list of categories belonging to that model along with the enabled mapping returns tuplet (by_model_dict, model_enabled_dict)
- static check_install(homedir=None, model_list=None)¶
the main method of this class makes sure categories.json exists and if not compile it and install :param homefile: Override the default home directory :param model_list: List of model names except customized models
- static get_default_file()¶
- static get_user_file()¶
returns the user data file, eg .sasview/categories.json.json
sas.qtgui.Utilities.ConnectionProxy module¶
- class sas.qtgui.Utilities.ConnectionProxy.ConnectionProxy(url, timeout)¶
Bases:
object- __dict__ = mappingproxy({'__module__': 'sas.qtgui.Utilities.ConnectionProxy', '__init__': <function ConnectionProxy.__init__>, '_get_addresses_of_proxy_pac': <function ConnectionProxy._get_addresses_of_proxy_pac>, '_parse_proxy_pac': <function ConnectionProxy._parse_proxy_pac>, '_set_proxy': <function ConnectionProxy._set_proxy>, 'connect': <function ConnectionProxy.connect>, '__dict__': <attribute '__dict__' of 'ConnectionProxy' objects>, '__weakref__': <attribute '__weakref__' of 'ConnectionProxy' objects>, '__doc__': None, '__annotations__': {}})¶
- __doc__ = None¶
- __init__(url, timeout)¶
- __module__ = 'sas.qtgui.Utilities.ConnectionProxy'¶
- __weakref__¶
list of weak references to the object
- _get_addresses_of_proxy_pac()¶
Return a list of possible auto proxy .pac files being used, based on the system registry (win32) or system preferences (OSX). @return: list of urls
- _parse_proxy_pac(pac_urls_list)¶
For every pac file url in pac_urls_list, it tryes to connect. If the connection is successful parses the file in search for http proxies. @param pac_urls_list: List with urls for the pac files @return: list with all found http proxies
- _set_proxy(proxy_dic=None)¶
Sets connection proxy. if proxy_dic is None get’s teh proxy from the system. To disable autodetected proxy pass an empty dictionary: {} @param proxy_dic: format: {‘http’: ‘http://www.example.com:3128/’}
- connect()¶
Performs the request and gets a response from self.url @return: response object from urllib2.urlopen
sas.qtgui.Utilities.DocRegenInProgess module¶
- class sas.qtgui.Utilities.DocRegenInProgess.DocRegenProgress(parent=None)¶
Bases:
QWidget,Ui_DocRegenProgress- __doc__ = None¶
- __init__(parent=None)¶
The DocRegenProgress class is a window to display the progress of the documentation regeneration process.
- Parameters:
parent – Any Qt object with a communicator that can trigger events.
- __module__ = 'sas.qtgui.Utilities.DocRegenInProgess'¶
- addSignals()¶
Adds triggers and signals to the window to ensure proper behavior.
- close()¶
Override the close behavior to ensure the window always exists in memory.
- staticMetaObject = PySide6.QtCore.QMetaObject("DocRegenProgress" inherits "QWidget": )¶
- updateLog()¶
This method is triggered whenever the file associated with the file_watcher object is changed.
sas.qtgui.Utilities.DocViewWidget module¶
- class sas.qtgui.Utilities.DocViewWidget.DocGenThread(completefn=None, updatefn=None, yieldtime=0.03, worktime=0.03, reset_flag=False)¶
Bases:
CalcThreadThread performing the fit
- __annotations__ = {}¶
- __doc__ = 'Thread performing the fit '¶
- __init__(completefn=None, updatefn=None, yieldtime=0.03, worktime=0.03, reset_flag=False)¶
- __module__ = 'sas.qtgui.Utilities.DocViewWidget'¶
- close()¶
- compute(target=None)¶
Regen the docs in a separate thread
- class sas.qtgui.Utilities.DocViewWidget.DocViewWindow(source: Path = None)¶
Bases:
QDialog,Ui_DocViewerWindowInstantiates a window to view documentation using a QWebEngineViewer widget
- __doc__ = '\n Instantiates a window to view documentation using a QWebEngineViewer widget\n '¶
- __init__(source: Path = None)¶
The DocViewWindow class is an HTML viewer built into SasView.
- Parameters:
parent – Any Qt object with a communicator that can trigger events.
source – The Path to the html file.
- __module__ = 'sas.qtgui.Utilities.DocViewWidget'¶
- closeEvent(event: QCloseEvent)¶
Close window Keep as a separate method to allow for additional functionality when closing
- docRegenComplete(*args)¶
Tells Qt that regeneration of docs is done and emits signal tied to opening documentation viewer window. This method is likely called as a thread call back, but no value is used from that callback return.
- initializeSignals()¶
Initialize all external signals that will trigger events for the window.
- load404()¶
- loadHtml()¶
Loads the HTML file specified when this python is called from another part of the program.
- static newer(src: Path | str | PathLike[str], html: Path | str | PathLike[str]) bool¶
Compare two files to determine if a file regeneration is required.
- Parameters:
src – The ReST file that might need regeneration.
html – The HTML file built from the ReST file.
- Returns:
Is the ReST file newer than the HTML file? Returned as a boolean.
- onDownload(download_item)¶
- onDownloadFinished(item)¶
- onEdit()¶
Open editor (TabbedModelEditor) window.
- onShow()¶
Show window Keep as a separate method to allow for additional functionality when opening
- processUrl() QUrl¶
Process path into proper QUrl for use in QWebViewer.
- Returns:
A QtCore.QUrl object built using self.source.
- refresh()¶
- regenerateDocs(target: Path | str | PathLike[str] = None)¶
Regenerates documentation for a specific file (target) in a subprocess
- Parameters:
target – A file-path like object that needs regeneration.
- regenerateHtml(file_name: Path | str | PathLike[str])¶
Regenerate the documentation for the file passed to the method
- Parameters:
file_name – A file-path like object that needs regeneration.
- regenerateIfNeeded()¶
Determines whether a file needs to be regenerated. If it does, it will regenerate based off whether it is detected as SasView docs or a model. The documentation window will open after the process of regeneration is completed. Otherwise, simply triggers a load of the documentation window with loadHtml()
- staticMetaObject = PySide6.QtCore.QMetaObject("DocViewWindow" inherits "QDialog": )¶
- updateTitle()¶
Set the title of the window to include the name of the document, found in the first <h1> tags.
sas.qtgui.Utilities.FileConverter module¶
File Converter Widget
- class sas.qtgui.Utilities.FileConverter.FileConverterWidget(parent=None)¶
Bases:
QDialog,Ui_FileConverterUIClass to describe the behaviour of the File Converter widget
- __doc__ = '\n Class to describe the behaviour of the File Converter widget\n '¶
- __init__(parent=None)¶
Parent here is the GUI Manager. Required for access to the help location and to the file loader.
- __module__ = 'sas.qtgui.Utilities.FileConverter'¶
- addSlots()¶
Create callbacks for UI elements and outside signals
- askFrameRange(n_frames=1)¶
Display a dialog asking the user to input the range of frames they would like to export
- Parameters:
n_frames – How many frames the loaded data file has
- Returns:
A dictionary containing the parameters input by the user
- convert1Ddata(qdata, iqdata, ofile, metadata)¶
Formats a 1D array of q_axis data and a 2D array of I axis data (where each row of iqdata is a separate row), into an array of Data1D objects
- extractBSLdata(filename)¶
Extracts data from a 2D BSL file
- Parameters:
filename – The header file to extract the data from
- Return x_data:
A 1D array containing all the x coordinates of the data
- Return y_data:
A 1D array containing all the y coordinates of the data
- Return frame_data:
A dictionary of the form {frame_number: data}, where data is a 2D numpy array containing the intensity data
- getDetectorMetadata()¶
Read the detector metadata fields and put them in the dictionary
- getMetadata()¶
metadata getter
- getSampleMetadata()¶
Read the sample metadata fields and put them in the dictionary
- getSourceMetadata()¶
Read the source metadata fields and put them in the dictionary
- onConvert()¶
Call the conversion method (and update DataExplorer with converted data)?
- onHelp()¶
Display online help related to the file converter
- onIFileOpen()¶
Show the path chooser for file with I
- onInputFormat()¶
Enable/disable UI items based on input format spec
- onNewFile()¶
show the save new file widget
- onNewFileEdited()¶
Update the output file state on direct field edit
- onQFileOpen()¶
Show the path chooser for file with Q
- openFile()¶
Show the path chooser for existent file
- readMetadata()¶
Read the metadata fields and put them in the dictionary
This reads the UI elements directly, but we don’t have a clear MVP distinction in this widgets, so there.
- setValidators()¶
Apply validators for double precision numbers to numerical fields
- staticMetaObject = PySide6.QtCore.QMetaObject("FileConverterWidget" inherits "QDialog": )¶
- updateConvertState()¶
Asserts presece of files for coversion. If all present -> enable the Convert button.
sas.qtgui.Utilities.FrameSelect module¶
FrameSelect class describes behaviour of the FrameSelect dialog
- class sas.qtgui.Utilities.FrameSelect.FrameSelect(parent=None, frames=1, isBSL=True)¶
Bases:
QDialog,Ui_FrameSelectClass to describe the behaviour of the Frame Selector widget
- __doc__ = '\n Class to describe the behaviour of the Frame Selector widget\n '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, sizeGripEnabled: bool | None = None, modal: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.FrameSelect'¶
- addSlots()¶
Describe behaviour of OK and Cancel buttons
- addState()¶
Minor bookkeeping
- addText()¶
Initialize view
- getFrames()¶
Accessor for state values
- onFirstChanged()¶
Manage view-model sync
- onIncrementChanged()¶
Manage view-model sync
- onLastChanged()¶
Manage view-model sync
- staticMetaObject = PySide6.QtCore.QMetaObject("FrameSelect" inherits "QDialog": )¶
- updateDisplay()¶
manage model-view sync
sas.qtgui.Utilities.GenericReader module¶
Thread handler used to load data
- class sas.qtgui.Utilities.GenericReader.GenReader(path, loader, completefn=None, updatefn=None, yieldtime=0.01, worktime=0.01)¶
Bases:
CalcThreadLoad a sld data given a filename
- __annotations__ = {}¶
- __doc__ = '\n Load a sld data given a filename\n '¶
- __init__(path, loader, completefn=None, updatefn=None, yieldtime=0.01, worktime=0.01)¶
- __module__ = 'sas.qtgui.Utilities.GenericReader'¶
- compute()¶
Read some data
- isquit()¶
@raise KeyboardInterrupt: when the thread is interrupted
sas.qtgui.Utilities.GridPanel module¶
- class sas.qtgui.Utilities.GridPanel.BatchInversionOutputPanel(parent=None, output_data=None)¶
Bases:
BatchOutputPanelClass for stateless grid-like printout of P(r) parameters for any number of data sets
- __doc__ = '\n Class for stateless grid-like printout of P(r) parameters for any number\n of data sets\n '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, flags: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, iconSize: PySide6.QtCore.QSize | None = None, toolButtonStyle: PySide6.QtCore.Qt.ToolButtonStyle | None = None, animated: bool | None = None, documentMode: bool | None = None, tabShape: PySide6.QtWidgets.QTabWidget.TabShape | None = None, dockNestingEnabled: bool | None = None, dockOptions: PySide6.QtWidgets.QMainWindow.DockOption | None = None, unifiedTitleAndToolBarOnMac: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.GridPanel'¶
- closeEvent(event)¶
Tell the parent window the window closed
- newTableTab(tab_name=None, data=None)¶
- onHelp()¶
Open a local url in the default browser
- onPlot()¶
Plot selected fits by sending signal to the parent
- setupTable(widget=None, data=None)¶
Create tablewidget items and show them, based on params
- staticMetaObject = PySide6.QtCore.QMetaObject("BatchInversionOutputPanel" inherits "BatchOutputPanel": )¶
- class sas.qtgui.Utilities.GridPanel.BatchOutputPanel(parent=None, output_data=None)¶
Bases:
QMainWindow,Ui_GridPanelUIClass for stateless grid-like printout of model parameters for multiple models
- ERROR_COLUMN_CAPTION = ' (Err)'¶
- IS_WIN = True¶
- __doc__ = '\n Class for stateless grid-like printout of model parameters for multiple models\n '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, flags: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, iconSize: PySide6.QtCore.QSize | None = None, toolButtonStyle: PySide6.QtCore.Qt.ToolButtonStyle | None = None, animated: bool | None = None, documentMode: bool | None = None, tabShape: PySide6.QtWidgets.QTabWidget.TabShape | None = None, dockNestingEnabled: bool | None = None, dockOptions: PySide6.QtWidgets.QMainWindow.DockOption | None = None, unifiedTitleAndToolBarOnMac: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.GridPanel'¶
- actionLoadData()¶
Open file load dialog and load a .csv file
- actionSaveFile()¶
Generate a .csv file and dump it to disk
- actionSendToExcel()¶
Generates a .csv file and opens the default CSV reader
- addFitResults(results)¶
Create a new tab with batch results
- addTabPage(name=None)¶
Add new tab page with QTableWidget
- addToolbarActions()¶
Assing actions and callbacks to the File menu items
- closeEvent(event)¶
Overwrite QDialog close method to allow for custom widget close
- closeTab(currentIndex)¶
- currentTable()¶
Returns the currently shown QTabWidget
- classmethod dataFromTable(table)¶
Creates a dictionary {<parameter>:[list of values]} from the parameter table
- onHelp()¶
Open a local url in the default browser
- onPlot()¶
Plot selected fits by sending signal to the parent
- setupTable(widget=None, data=None)¶
Create tablewidget items and show them, based on params
- setupTableFromCSV(csv_data)¶
Create tablewidget items and show them, based on params
- showContextMenu(position)¶
Show context specific menu in the tab table widget.
- staticMetaObject = PySide6.QtCore.QMetaObject("BatchOutputPanel" inherits "QMainWindow": Methods: #39 type=Signal, signature=windowClosedSignal() )¶
- windowClosedSignal¶
- classmethod writeBatchToFile(data, tmpfile, details='')¶
Helper to write result from batch into cvs file
sas.qtgui.Utilities.GuiUtils module¶
Global defaults and various utility functions usable by the general GUI
- class sas.qtgui.Utilities.GuiUtils.Communicate¶
Bases:
QObjectUtility class for tracking of the Qt signals
- SaveFitParamsSignal¶
- __doc__ = '\n Utility class for tracking of the Qt signals\n '¶
- __module__ = 'sas.qtgui.Utilities.GuiUtils'¶
- activeGraphName¶
- activeGraphsSignal¶
- changeDataExplorerTabSignal¶
- closeSignal¶
- copyExcelFitParamsSignal¶
- copyFitParamsSignal¶
- copyLatexFitParamsSignal¶
- customModelDirectoryChanged¶
- dataDeletedSignal¶
- deleteIntermediateTheoryPlotsSignal¶
- documentationRegenInProgressSignal¶
- documentationRegeneratedSignal¶
- documentationUpdateLogSignal¶
- extMaskEditorSignal¶
- fileDataReceivedSignal¶
- fileReadSignal¶
- forcePlotDisplaySignal¶
- maskEditorSignal¶
- pasteFitParamsSignal¶
- perspectiveChangedSignal¶
- plotFromNameSignal¶
- plotRequestedSignal¶
- plotUpdateSignal¶
- progressBarUpdateSignal¶
- resultPlotUpdateSignal¶
- sendDataToGridSignal¶
- sendDataToPanelSignal¶
- staticMetaObject = PySide6.QtCore.QMetaObject("Communicate" inherits "QObject": Methods: #4 type=Signal, signature=fileReadSignal(QVariantList), parameters=QVariantList #5 type=Signal, signature=fileDataReceivedSignal(QVariantMap), parameters=QVariantMap #6 type=Signal, signature=statusBarUpdateSignal(QString), parameters=QString #7 type=Signal, signature=updatePerspectiveWithDataSignal(QVariantList), parameters=QVariantList #8 type=Signal, signature=updateModelFromPerspectiveSignal(QStandardItem*), parameters=QStandardItem* #9 type=Signal, signature=updateTheoryFromPerspectiveSignal(QStandardItem*), parameters=QStandardItem* #10 type=Signal, signature=deleteIntermediateTheoryPlotsSignal(QString), parameters=QString #11 type=Signal, signature=plotRequestedSignal(QVariantList,int), parameters=QVariantList, int #12 type=Signal, signature=plotFromNameSignal(QString), parameters=QString #13 type=Signal, signature=plotUpdateSignal(QVariantList), parameters=QVariantList #14 type=Signal, signature=progressBarUpdateSignal(int), parameters=int #15 type=Signal, signature=activeGraphsSignal(QVariantList), parameters=QVariantList #16 type=Signal, signature=activeGraphName(PyObject), parameters=PyObject #17 type=Signal, signature=perspectiveChangedSignal(QString), parameters=QString #18 type=Signal, signature=dataDeletedSignal(QVariantList), parameters=QVariantList #19 type=Signal, signature=sendDataToPanelSignal(QVariantMap), parameters=QVariantMap #20 type=Signal, signature=updateModelFromDataOperationPanelSignal(QStandardItem*,QVariantMap), parameters=QStandardItem*, QVariantMap #21 type=Signal, signature=customModelDirectoryChanged() #22 type=Signal, signature=sendDataToGridSignal(QVariantList), parameters=QVariantList #23 type=Signal, signature=maskEditorSignal(PyObject), parameters=PyObject #24 type=Signal, signature=extMaskEditorSignal() #25 type=Signal, signature=copyFitParamsSignal(QString), parameters=QString #26 type=Signal, signature=copyExcelFitParamsSignal(QString), parameters=QString #27 type=Signal, signature=copyLatexFitParamsSignal(QString), parameters=QString #28 type=Signal, signature=SaveFitParamsSignal(QString), parameters=QString #29 type=Signal, signature=pasteFitParamsSignal() #30 type=Signal, signature=updateModelCategoriesSignal() #31 type=Signal, signature=changeDataExplorerTabSignal(int), parameters=int #32 type=Signal, signature=resultPlotUpdateSignal(QVariantList), parameters=QVariantList #33 type=Signal, signature=forcePlotDisplaySignal(QVariantList), parameters=QVariantList #34 type=Signal, signature=updateMaskedDataSignal() #35 type=Signal, signature=documentationRegenInProgressSignal() #36 type=Signal, signature=documentationRegeneratedSignal() #37 type=Signal, signature=documentationUpdateLogSignal() #38 type=Signal, signature=closeSignal() )¶
- statusBarUpdateSignal¶
- updateMaskedDataSignal¶
- updateModelCategoriesSignal¶
- updateModelFromDataOperationPanelSignal¶
- updateModelFromPerspectiveSignal¶
- updatePerspectiveWithDataSignal¶
- updateTheoryFromPerspectiveSignal¶
- class sas.qtgui.Utilities.GuiUtils.DoubleValidator¶
Bases:
QDoubleValidatorAllow only dots as decimal separator
- __doc__ = '\n Allow only dots as decimal separator\n '¶
- __module__ = 'sas.qtgui.Utilities.GuiUtils'¶
- fixup(input)¶
Correct (remove) potential preexisting content
- staticMetaObject = PySide6.QtCore.QMetaObject("DoubleValidator" inherits "QDoubleValidator": )¶
- validate(input, pos)¶
Return invalid for commas
- class sas.qtgui.Utilities.GuiUtils.FormulaValidator(parent=None)¶
Bases:
QValidator- __doc__ = None¶
- __init__(self, /, parent: PySide6.QtCore.QObject | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.GuiUtils'¶
- _setStyleSheet(value)¶
- staticMetaObject = PySide6.QtCore.QMetaObject("FormulaValidator" inherits "QValidator": )¶
- validate(self, arg__1: str, arg__2: int, /) object¶
- class sas.qtgui.Utilities.GuiUtils.HashableStandardItem(parent=None)¶
Bases:
QStandardItemSubclassed standard item with reimplemented __hash__ to allow for use as an index.
- __doc__ = '\n Subclassed standard item with reimplemented __hash__\n to allow for use as an index.\n '¶
- __hash__()¶
just a random hash value
- __init__(self, /) None¶
- __init__(self, other: PySide6.QtGui.QStandardItem, /) None
- __init__(self, text: str, /) None
- __init__(self, icon: PySide6.QtGui.QIcon | PySide6.QtGui.QPixmap, text: str, /) None
- __init__(self, rows: int, /, columns: int = 1) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.GuiUtils'¶
- clone()¶
Assure __hash__ is cloned as well
- sas.qtgui.Utilities.GuiUtils.checkModel(path)¶
Check that the model save in file ‘path’ can run.
- sas.qtgui.Utilities.GuiUtils.convertFromSVS(datasets)¶
Read in properties from SVS and convert into a simple dict
- sas.qtgui.Utilities.GuiUtils.convertUnitToHTML(unit)¶
Convert ASCII unit display into HTML symbol
- sas.qtgui.Utilities.GuiUtils.createModelItemWithPlot(update_data, name='')¶
Creates a checkboxed QStandardItem named “name” Adds ‘update_data’ to that row.
- sas.qtgui.Utilities.GuiUtils.dataFromItem(item)¶
Retrieve Data1D/2D component from QStandardItem. The assumption - data stored in SasView standard, in child 0
- sas.qtgui.Utilities.GuiUtils.deleteRedundantPlots(item, new_plots)¶
Checks all plots that are children of the given item; if any have an ID or name not included in new_plots, it is deleted. Useful for e.g. switching from P(Q)S(Q) to P(Q); this would remove the old S(Q) plot.
Ensure that new_plots contains ALL the relevant plots(!!!)
- sas.qtgui.Utilities.GuiUtils.enum(*sequential, **named)¶
Create an enumeration object from a list of strings
- sas.qtgui.Utilities.GuiUtils.findNextFilename(filename, directory)¶
Finds the next available (non-existing) name for ‘filename’ in ‘directory’. plugin.py -> plugin (n).py - for first ‘n’ for which the file doesn’t exist
- sas.qtgui.Utilities.GuiUtils.formatNumber(value, high=False)¶
Return a float in a standardized, human-readable formatted string. This is used to output readable (e.g. x.xxxe-y) values to the panel.
- sas.qtgui.Utilities.GuiUtils.formatValue(value)¶
Formats specific data types for the GUI.
This function accepts three types of data: numeric data castable to float, a numpy.ndarray of type castable to float, or None. Numeric data is returned in human-readable format by formatNumber(), numpy arrays are averaged over all axes, and the mean returned in human-readable format. If value=None then the string “NaN” is returned.
- Parameters:
value (float, numeric type castable to float, numpy.ndarray, None) – The value to be formatted
- Returns:
The formatted value
- Return type:
str
- sas.qtgui.Utilities.GuiUtils.getChildrenFromItem(root)¶
Recursively go down the model item looking for all children
- sas.qtgui.Utilities.GuiUtils.getConstraints(fit_project)¶
Extracts constraints from fir_project dict and returns a dict where keys are the tab name and values are a list of constraints on that tab. The dict can then be passed to the updateFromConstraints method from the fitting perspective to apply the constraints with error checking mechanism
- sas.qtgui.Utilities.GuiUtils.getMonospaceFont()¶
Convenience function; returns a monospace font to be used in any shells, code editors, etc.
- sas.qtgui.Utilities.GuiUtils.get_sensible_default_open_directory()¶
- Returns:
app_path - the path to the application directory
- sas.qtgui.Utilities.GuiUtils.infoFromData(data)¶
Given Data1D/Data2D object, extract relevant Info elements and add them to a model item
- sas.qtgui.Utilities.GuiUtils.itemFromDisplayName(name, model_item)¶
Returns the model item text=name in the model
- sas.qtgui.Utilities.GuiUtils.onTXTSave(data, path)¶
Save file as formatted txt
- sas.qtgui.Utilities.GuiUtils.openLink(url)¶
Open a URL in an external browser. Check the URL first, though.
- sas.qtgui.Utilities.GuiUtils.parseName(name, expression)¶
remove “_” in front of a name
- sas.qtgui.Utilities.GuiUtils.plotsFromCheckedItems(model_item)¶
Returns the list of plots for items in the model which are checked
- sas.qtgui.Utilities.GuiUtils.plotsFromDisplayName(name, model_item)¶
Returns the list of plots for the item with text=name in the model
- sas.qtgui.Utilities.GuiUtils.plotsFromModel(model_name, model_item)¶
Returns the list of plots for the item with model name in the model
- sas.qtgui.Utilities.GuiUtils.plotsOfType(model, datatype=<class 'sas.qtgui.Plotting.PlotterData.Data1D'>)¶
Returns the list of plots for the whole model of type datatype
- sas.qtgui.Utilities.GuiUtils.readDataFromFile(fp)¶
Reads in Data1D/Data2 datasets from the file. Datasets are stored in the JSON format.
- sas.qtgui.Utilities.GuiUtils.readProjectFromSVS(filepath)¶
Read old SVS file and convert to the project dictionary
- sas.qtgui.Utilities.GuiUtils.replaceHTMLwithASCII(html)¶
Replace some important HTML-encoded characters with their ASCII equivalents
- sas.qtgui.Utilities.GuiUtils.replaceHTMLwithUTF8(html)¶
Replace some important HTML-encoded characters with their UTF-8 equivalents
- sas.qtgui.Utilities.GuiUtils.retrieveData1d(data)¶
Retrieve 1D data from file and construct its text representation
- sas.qtgui.Utilities.GuiUtils.retrieveData2d(data)¶
Retrieve 2D data from file and construct its text representation
- sas.qtgui.Utilities.GuiUtils.rstToHtml(s)¶
- sas.qtgui.Utilities.GuiUtils.saveAnyData(data, wildcard_dict=None)¶
Generic file save routine called by SaveData1D and SaveData2D
- Parameters:
data – Data 1D or Data2D object the data will be taken from
wildcard_dict – Dictionary in format {“Display Text”: “.ext”}
- sas.qtgui.Utilities.GuiUtils.saveData(fp, data)¶
save content of data to fp (a .write()-supporting file-like object)
- sas.qtgui.Utilities.GuiUtils.saveData1D(data)¶
Save 1D data points
- Parameters:
data – Data1D object the data will be taken from
- sas.qtgui.Utilities.GuiUtils.saveData2D(data)¶
Save data2d data points
- Parameters:
data – Data2D object the data will be taken from
- sas.qtgui.Utilities.GuiUtils.showHelp(url: Path | str | PathLike[str])¶
- sas.qtgui.Utilities.GuiUtils.toDouble(value_string)¶
toFloat conversion which cares deeply about user’s locale
- sas.qtgui.Utilities.GuiUtils.updateModelItem(item, update_data, name='')¶
Adds a simple named child to QStandardItem
- sas.qtgui.Utilities.GuiUtils.updateModelItemStatus(model_item, filename='', name='', status=2)¶
Update status of checkbox related to high- and low-Q extrapolation choice in Invariant Panel
- sas.qtgui.Utilities.GuiUtils.updateModelItemWithPlot(item, update_data, name='', checkbox_state=None)¶
Adds a checkboxed row named “name” to QStandardItem Adds ‘update_data’ to that row.
- sas.qtgui.Utilities.GuiUtils.xyTransform(data, xLabel='', yLabel='')¶
Transforms x and y in View and set the scale
sas.qtgui.Utilities.HidableDialog module¶
- class sas.qtgui.Utilities.HidableDialog.HidableDialog(window_title: str, message: str, parent=None, buttons=None)¶
Bases:
QDialogDialog class with an ‘ask me again’ feature
- __doc__ = " Dialog class with an 'ask me again' feature"¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, sizeGripEnabled: bool | None = None, modal: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.HidableDialog'¶
- property show_again: bool¶
- staticMetaObject = PySide6.QtCore.QMetaObject("HidableDialog" inherits "QDialog": )¶
- class sas.qtgui.Utilities.HidableDialog.ShowAgainResult(result: bool, ask_again: bool)¶
Bases:
NamedTupleData structure for the output of the hidable dialog
- __annotations__ = {'ask_again': <class 'bool'>, 'result': <class 'bool'>}¶
- __doc__ = ' Data structure for the output of the hidable dialog'¶
- __getnewargs__()¶
Return self as a plain tuple. Used by copy and pickle.
- __match_args__ = ('result', 'ask_again')¶
- __module__ = 'sas.qtgui.Utilities.HidableDialog'¶
- static __new__(_cls, result: bool, ask_again: bool)¶
Create new instance of ShowAgainResult(result, ask_again)
- __orig_bases__ = (<function NamedTuple>,)¶
- __repr__()¶
Return a nicely formatted representation string
- __slots__ = ()¶
- _asdict()¶
Return a new dict which maps field names to their values.
- _field_defaults = {}¶
- _fields = ('result', 'ask_again')¶
- classmethod _make(iterable)¶
Make a new ShowAgainResult object from a sequence or iterable
- _replace(**kwds)¶
Return a new ShowAgainResult object replacing specified fields with new values
- ask_again: bool¶
Alias for field number 1
- result: bool¶
Alias for field number 0
- sas.qtgui.Utilities.HidableDialog.hidable_dialog(window_title: str, message: str, show: bool, parent=None, buttons=None) ShowAgainResult¶
A dialog with an ask again feature.
- sas.qtgui.Utilities.HidableDialog.main()¶
sas.qtgui.Utilities.IPythonWidget module¶
- class sas.qtgui.Utilities.IPythonWidget.IPythonWidget(**kwargs: Any)¶
Bases:
RichJupyterWidget- __doc__ = None¶
- __init__(parent=None, **kwargs)¶
Create a RichJupyterWidget.
- __module__ = 'sas.qtgui.Utilities.IPythonWidget'¶
- _all_trait_default_generators: dict[str, t.Any] = {'_display_banner': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, '_highlighter': <bound method TraitType.default of <traitlets.traitlets.Instance object>>, '_jpg_supported': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'ansi_codes': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'banner': <traitlets.traitlets.DefaultHandler object>, 'buffer_size': <bound method TraitType.default of <traitlets.traitlets.Int object>>, 'clear_on_kernel_restart': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'config': <bound method TraitType.default of <traitlets.traitlets.Instance object>>, 'confirm_restart': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'console_height': <bound method TraitType.default of <traitlets.traitlets.Int object>>, 'console_width': <bound method TraitType.default of <traitlets.traitlets.Int object>>, 'custom_edit': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'custom_interrupt': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'custom_restart': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'editor': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'editor_line': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'enable_calltips': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'execute_on_complete_input': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'font_family': <function ConsoleWidget._font_family_default>, 'font_size': <bound method TraitType.default of <traitlets.traitlets.Int object>>, 'gui_completion': <bound method TraitType.default of <traitlets.traitlets.Enum object>>, 'gui_completion_height': <bound method TraitType.default of <traitlets.traitlets.Int object>>, 'history_lock': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'in_prompt': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'include_other_output': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'input_sep': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'kernel_banner': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'kind': <bound method TraitType.default of <traitlets.traitlets.Enum object>>, 'lexer': <function FrontendWidget._lexer_default>, 'lexer_class': <function FrontendWidget._lexer_class_default>, 'log': <traitlets.traitlets.DefaultHandler object>, 'other_output_prefix': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'out_prompt': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'output_sep': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'output_sep2': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'override_shortcuts': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'paging': <bound method TraitType.default of <traitlets.traitlets.Enum object>>, 'parent': <bound method TraitType.default of <traitlets.traitlets.Instance object>>, 'scrollbar_visibility': <bound method TraitType.default of <traitlets.traitlets.Bool object>>, 'style_sheet': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>, 'syntax_style': <bound method TraitType.default of <traitlets.traitlets.Unicode object>>}¶
- _descriptors = [<traitlets.traitlets.DefaultHandler object>, <traitlets.traitlets.ObserveHandler object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Instance object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.DefaultHandler object>, <traitlets.traitlets.ObserveHandler object>, <traitlets.traitlets.ObserveHandler object>, <traitlets.traitlets.ValidateHandler object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Int object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Instance object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Int object>, <traitlets.traitlets.Int object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Int object>, <traitlets.traitlets.Enum object>, <traitlets.traitlets.Int object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Enum object>, <traitlets.traitlets.Any object>, <traitlets.traitlets.DottedObjectName object>, <traitlets.traitlets.Any object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Enum object>, <traitlets.traitlets.Instance object>, <traitlets.traitlets.Bool object>, <traitlets.traitlets.Unicode object>, <traitlets.traitlets.Unicode object>]¶
- _instance_inits = [<bound method BaseDescriptor.instance_init of <traitlets.traitlets.DefaultHandler object>>, <bound method ObserveHandler.instance_init of <traitlets.traitlets.ObserveHandler object>>, <bound method Instance.instance_init of <traitlets.traitlets.Instance object>>, <bound method BaseDescriptor.instance_init of <traitlets.traitlets.DefaultHandler object>>, <bound method ObserveHandler.instance_init of <traitlets.traitlets.ObserveHandler object>>, <bound method ObserveHandler.instance_init of <traitlets.traitlets.ObserveHandler object>>, <bound method ValidateHandler.instance_init of <traitlets.traitlets.ValidateHandler object>>, <bound method Instance.instance_init of <traitlets.traitlets.Instance object>>, <bound method BaseDescriptor.instance_init of <traitlets.traitlets.DottedObjectName object>>, <bound method Instance.instance_init of <traitlets.traitlets.Instance object>>]¶
- _static_immutable_initial_values: dict[str, t.Any] = {'_display_banner': False, '_highlighter': None, '_jpg_supported': False, 'ansi_codes': True, 'buffer_size': 500, 'clear_on_kernel_restart': True, 'confirm_restart': True, 'console_height': 25, 'console_width': 81, 'custom_edit': False, 'custom_interrupt': False, 'custom_restart': False, 'editor': 'notepad', 'editor_line': '', 'enable_calltips': True, 'execute_on_complete_input': True, 'font_size': 0, 'gui_completion_height': 0, 'history_lock': False, 'in_prompt': 'In [<span class="in-prompt-number">%i</span>]: ', 'include_other_output': False, 'input_sep': '\n', 'kernel_banner': '', 'other_output_prefix': '[remote] ', 'out_prompt': 'Out[<span class="out-prompt-number">%i</span>]: ', 'output_sep': '', 'output_sep2': '', 'override_shortcuts': False, 'parent': None, 'scrollbar_visibility': True, 'style_sheet': '', 'syntax_style': ''}¶
- _trait_default_generators = {}¶
- _traits: dict[str, t.Any] = {'_display_banner': <traitlets.traitlets.Bool object>, '_highlighter': <traitlets.traitlets.Instance object>, '_jpg_supported': <traitlets.traitlets.Bool object>, 'ansi_codes': <traitlets.traitlets.Bool object>, 'banner': <traitlets.traitlets.Unicode object>, 'buffer_size': <traitlets.traitlets.Int object>, 'clear_on_kernel_restart': <traitlets.traitlets.Bool object>, 'config': <traitlets.traitlets.Instance object>, 'confirm_restart': <traitlets.traitlets.Bool object>, 'console_height': <traitlets.traitlets.Int object>, 'console_width': <traitlets.traitlets.Int object>, 'custom_edit': <traitlets.traitlets.Bool object>, 'custom_interrupt': <traitlets.traitlets.Bool object>, 'custom_restart': <traitlets.traitlets.Bool object>, 'editor': <traitlets.traitlets.Unicode object>, 'editor_line': <traitlets.traitlets.Unicode object>, 'enable_calltips': <traitlets.traitlets.Bool object>, 'execute_on_complete_input': <traitlets.traitlets.Bool object>, 'font_family': <traitlets.traitlets.Unicode object>, 'font_size': <traitlets.traitlets.Int object>, 'gui_completion': <traitlets.traitlets.Enum object>, 'gui_completion_height': <traitlets.traitlets.Int object>, 'history_lock': <traitlets.traitlets.Bool object>, 'in_prompt': <traitlets.traitlets.Unicode object>, 'include_other_output': <traitlets.traitlets.Bool object>, 'input_sep': <traitlets.traitlets.Unicode object>, 'kernel_banner': <traitlets.traitlets.Unicode object>, 'kind': <traitlets.traitlets.Enum object>, 'lexer': <traitlets.traitlets.Any object>, 'lexer_class': <traitlets.traitlets.DottedObjectName object>, 'log': <traitlets.traitlets.Any object>, 'other_output_prefix': <traitlets.traitlets.Unicode object>, 'out_prompt': <traitlets.traitlets.Unicode object>, 'output_sep': <traitlets.traitlets.Unicode object>, 'output_sep2': <traitlets.traitlets.Unicode object>, 'override_shortcuts': <traitlets.traitlets.Bool object>, 'paging': <traitlets.traitlets.Enum object>, 'parent': <traitlets.traitlets.Instance object>, 'scrollbar_visibility': <traitlets.traitlets.Bool object>, 'style_sheet': <traitlets.traitlets.Unicode object>, 'syntax_style': <traitlets.traitlets.Unicode object>}¶
- staticMetaObject = PySide6.QtCore.QMetaObject("IPythonWidget" inherits "RichJupyterWidget": )¶
sas.qtgui.Utilities.ImageViewer module¶
Image viewer widget.
- class sas.qtgui.Utilities.ImageViewer.ImageViewer(parent=None)¶
Bases:
QMainWindow,Ui_ImageViewerUIImplemented as QMainWindow to enable easy menus
- __doc__ = '\n Implemented as QMainWindow to enable easy menus\n '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, flags: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, iconSize: PySide6.QtCore.QSize | None = None, toolButtonStyle: PySide6.QtCore.Qt.ToolButtonStyle | None = None, animated: bool | None = None, documentMode: bool | None = None, tabShape: PySide6.QtWidgets.QTabWidget.TabShape | None = None, dockNestingEnabled: bool | None = None, dockOptions: PySide6.QtWidgets.QMainWindow.DockOption | None = None, unifiedTitleAndToolBarOnMac: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.ImageViewer'¶
- actionConvertToData()¶
Show the options dialog and if accepted, send data to conversion
- actionCopyImage()¶
Copy MPL widget area to buffer
- actionHowTo()¶
Send the image viewer help URL to the help viewer
- actionLoadImage()¶
Image loader given files extensions
- actionPrintImage()¶
Display printer dialog and print the MPL widget area
- actionSaveImage()¶
Use the internal MPL method for saving to file
- addPlotter()¶
Add a new plotter to the frame
- addTriggers()¶
Trigger definitions for all menu/toolbar actions.
- convertImage(rgb, xmin, xmax, ymin, ymax, zscale)¶
Convert image to data2D
- disableMenus()¶
All menu items but “Load File” and “Help” should be disabled when no data is present
- enableMenus()¶
Enable all menu items when data is present
- rgb2gray(rgb)¶
RGB to Grey
- showImage(filename)¶
Show the requested image in the main frame
- staticMetaObject = PySide6.QtCore.QMetaObject("ImageViewer" inherits "QMainWindow": )¶
- class sas.qtgui.Utilities.ImageViewer.ImageViewerOptions(parent=None)¶
Bases:
QDialog,Ui_ImageViewerOptionsUILogics for the image viewer options UI
- __doc__ = '\n Logics for the image viewer options UI\n '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, sizeGripEnabled: bool | None = None, modal: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.ImageViewer'¶
- addDefaults()¶
Fill out textedits with default values
- addValidators()¶
Define simple validators on line edits
- getState()¶
return current state of the widget
- staticMetaObject = PySide6.QtCore.QMetaObject("ImageViewerOptions" inherits "QDialog": )¶
sas.qtgui.Utilities.ObjectLibrary module¶
- sas.qtgui.Utilities.ObjectLibrary.addObject(obj_name, obj)¶
- sas.qtgui.Utilities.ObjectLibrary.deleteObjectByName(obj_name)¶
- sas.qtgui.Utilities.ObjectLibrary.deleteObjectByRef(obj)¶
- sas.qtgui.Utilities.ObjectLibrary.getObject(obj_name)¶
- sas.qtgui.Utilities.ObjectLibrary.listObjects()¶
sas.qtgui.Utilities.PlotView module¶
- class sas.qtgui.Utilities.PlotView.ConvergenceView(**kw)¶
Bases:
FitResultView- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.PlotView'¶
- plot()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("ConvergenceView" inherits "FitResultView": )¶
- class sas.qtgui.Utilities.PlotView.CorrelationView(**kw)¶
Bases:
FitResultView- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.PlotView'¶
- plot()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("CorrelationView" inherits "FitResultView": )¶
- class sas.qtgui.Utilities.PlotView.FitResultView(**kw)¶
Bases:
QWidget- __doc__ = None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.PlotView'¶
- plot()¶
- show_plot_selector = False¶
- state = None¶
- staticMetaObject = PySide6.QtCore.QMetaObject("FitResultView" inherits "QWidget": )¶
- update(self, /) None¶
- update(self, arg__1: PySide6.QtCore.QRect, /) None
- update(self, arg__1: PySide6.QtGui.QRegion | PySide6.QtGui.QBitmap | PySide6.QtGui.QPolygon | PySide6.QtCore.QRect, /) None
- update(self, x: int, y: int, w: int, h: int, /) None
- class sas.qtgui.Utilities.PlotView.TraceView(**kw)¶
Bases:
FitResultView- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.PlotView'¶
- plot()¶
- show_plot_selector = True¶
- staticMetaObject = PySide6.QtCore.QMetaObject("TraceView" inherits "FitResultView": )¶
- update(self, /) None¶
- update(self, arg__1: PySide6.QtCore.QRect, /) None
- update(self, arg__1: PySide6.QtGui.QRegion | PySide6.QtGui.QBitmap | PySide6.QtGui.QPolygon | PySide6.QtCore.QRect, /) None
- update(self, x: int, y: int, w: int, h: int, /) None
- class sas.qtgui.Utilities.PlotView.UncertaintyView(**kw)¶
Bases:
FitResultView- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.PlotView'¶
- plot()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("UncertaintyView" inherits "FitResultView": )¶
- sas.qtgui.Utilities.PlotView.plot_convergence(pop, best, fig)¶
sas.qtgui.Utilities.PluginManager module¶
- class sas.qtgui.Utilities.PluginManager.PluginManager(parent=None)¶
Bases:
QDialog,Ui_PluginManagerUIClass describing the model plugin manager. This is a simple list widget allowing for viewing/adding/deleting custom models.
- __doc__ = '\n Class describing the model plugin manager.\n This is a simple list widget allowing for viewing/adding/deleting custom models.\n '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, sizeGripEnabled: bool | None = None, modal: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.PluginManager'¶
- addSignals()¶
Define slots for widget signals
- onAdd()¶
Show the add new model dialog
- onAddFile()¶
Open system Load FIle dialog, load a plugin and put it in the plugin directory
- onDelete()¶
Remove the file containing the selected plugin
- onDuplicate()¶
Creates a copy of the selected model(s)
- onEdit()¶
Show the edit existing model dialog
- onHelp()¶
Show the help page in the default browser
- onSelectionChanged()¶
Respond to row selection
- readModels()¶
Read in custom models from the default location
- staticMetaObject = PySide6.QtCore.QMetaObject("PluginManager" inherits "QDialog": )¶
sas.qtgui.Utilities.PythonSyntax module¶
- class sas.qtgui.Utilities.PythonSyntax.PythonHighlighter(document, is_python=True)¶
Bases:
QSyntaxHighlighterSyntax highlighter for the Python language.
- __doc__ = 'Syntax highlighter for the Python language.\n '¶
- __init__(self, parent: PySide6.QtGui.QTextDocument, /) None¶
- __init__(self, parent: PySide6.QtCore.QObject, /) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.PythonSyntax'¶
- braces = ['\\{', '\\}', '\\(', '\\)', '\\[', '\\]']¶
- c_keywords = ['auto', 'break', 'case', 'char', 'const', 'continue', 'default', 'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto', 'if', 'int', 'long', 'register', 'return', 'short', 'signed', 'sizeof', 'static', 'struct', 'switch', 'typedef', 'union', 'unsigned', 'void', 'volatile', 'while']¶
- highlightBlock(text)¶
Apply syntax highlighting to the given block of text.
- match_multiline(text, delimiter, in_state, style)¶
Do highlighting of multi-line strings.
delimitershould be aQRegExpfor triple-single-quotes or triple-double-quotes, andin_stateshould be a unique integer to represent the corresponding state changes when inside those strings. Returns True if we’re still inside a multi-line string when this function is finished.
- operators = ['=', '==', '!=', '<', '<=', '>', '>=', '\\+', '-', '\\*', '/', '//', '\\%', '\\*\\*', '\\+=', '-=', '\\*=', '/=', '\\%=', '\\^', '\\|', '\\&', '\\~', '>>', '<<']¶
- python_keywords = ['and', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'yield', 'None', 'True', 'False']¶
- staticMetaObject = PySide6.QtCore.QMetaObject("PythonHighlighter" inherits "QSyntaxHighlighter": )¶
- sas.qtgui.Utilities.PythonSyntax.format(color, style='')¶
Return a QTextCharFormat with the given attributes.
sas.qtgui.Utilities.ReactorCore module¶
This module provides support for Twisted to be driven by the Qt mainloop.
- In order to use this support, simply do the following::
- app = QApplication(sys.argv) # your code to init Qtimport qt5reactorqt5reactor.install()
Then use twisted.internet APIs as usual. The other methods here are not intended to be called directly.
If you don’t instantiate a QApplication or QCoreApplication prior to installing the reactor, a QCoreApplication will be constructed by the reactor. QCoreApplication does not require a GUI so trial testing can occur normally.
Twisted can be initialized after QApplication.exec_() with a call to reactor.runReturn(). calling reactor.stop() will unhook twisted but leave your Qt application running
Qt5 Port: U{Burak Nehbit<mailto:burak@nehbit.net>}
Current maintainer: U{Christopher R. Wood<mailto:chris@leastauthority.com>}
Previous maintainer: U{Tarashish Mishra<mailto:sunu@sunu.in>} Previous maintainer: U{Glenn H Tarbox, PhD<mailto:glenn@tarbox.org>} Previous maintainer: U{Itamar Shtull-Trauring<mailto:twisted@itamarst.org>} Original port to QT4: U{Gabe Rudy<mailto:rudy@goldenhelix.com>} Subsequent port by therve
- sas.qtgui.Utilities.ReactorCore.MsgWaitForMultipleObjects()¶
- class sas.qtgui.Utilities.ReactorCore.QCoreApplication(self, args: collections.abc.Sequence[str], /, *, applicationName: str | None = None, applicationVersion: str | None = None, organizationName: str | None = None, organizationDomain: str | None = None, quitLockEnabled: bool | None = None)¶
- class sas.qtgui.Utilities.ReactorCore.QCoreApplication(self, /, *, applicationName: str | None = None, applicationVersion: str | None = None, organizationName: str | None = None, organizationDomain: str | None = None, quitLockEnabled: bool | None = None)
Bases:
QObject- ApplicationFlags = 395521¶
- __delattr__(name, /)¶
Implement delattr(self, name).
- __doc__ = 'QCoreApplication(self, args: collections.abc.Sequence[str], /, *, applicationName: str | None = None, applicationVersion: str | None = None, organizationName: str | None = None, organizationDomain: str | None = None, quitLockEnabled: bool | None = None) -> None\nQCoreApplication(self, /, *, applicationName: str | None = None, applicationVersion: str | None = None, organizationName: str | None = None, organizationDomain: str | None = None, quitLockEnabled: bool | None = None) -> None'¶
- __init__(self, args: collections.abc.Sequence[str], /, *, applicationName: str | None = None, applicationVersion: str | None = None, organizationName: str | None = None, organizationDomain: str | None = None, quitLockEnabled: bool | None = None) None¶
- __init__(self, /, *, applicationName: str | None = None, applicationVersion: str | None = None, organizationName: str | None = None, organizationDomain: str | None = None, quitLockEnabled: bool | None = None) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'PySide6.QtCore'¶
- classmethod __new__(*args, **kwargs)¶
- __setattr__(name, value, /)¶
Implement setattr(self, name, value).
- aboutToQuit¶
- static addLibraryPath(arg__1: str, /) None¶
- static applicationDirPath() str¶
- static applicationFilePath() str¶
- static applicationName() str¶
- applicationNameChanged¶
- static applicationPid() int¶
- static applicationVersion() str¶
- applicationVersionChanged¶
- static arguments() List[str]¶
- checkPermission(self, permission: PySide6.QtCore.QBluetoothPermission, /) PySide6.QtCore.Qt.PermissionStatus¶
- checkPermission(self, permission: PySide6.QtCore.QCalendarPermission, /) PySide6.QtCore.Qt.PermissionStatus
- checkPermission(self, permission: PySide6.QtCore.QCameraPermission, /) PySide6.QtCore.Qt.PermissionStatus
- checkPermission(self, permission: PySide6.QtCore.QContactsPermission, /) PySide6.QtCore.Qt.PermissionStatus
- checkPermission(self, permission: PySide6.QtCore.QLocationPermission, /) PySide6.QtCore.Qt.PermissionStatus
- checkPermission(self, permission: PySide6.QtCore.QMicrophonePermission, /) PySide6.QtCore.Qt.PermissionStatus
- checkPermission(self, permission: PySide6.QtCore.QPermission, /) PySide6.QtCore.Qt.PermissionStatus
- static closingDown() bool¶
- event(self, arg__1: PySide6.QtCore.QEvent, /) bool¶
- static eventDispatcher() PySide6.QtCore.QAbstractEventDispatcher¶
- static exec() int¶
- exec_(**kwargs)¶
- static exit(retcode: int | None = None) None¶
- installNativeEventFilter(self, filterObj: PySide6.QtCore.QAbstractNativeEventFilter, /) None¶
- static installTranslator(messageFile: PySide6.QtCore.QTranslator, /) bool¶
- static instance() PySide6.QtCore.QCoreApplication | None¶
- static isQuitLockEnabled() bool¶
- static isSetuidAllowed() bool¶
- static libraryPaths() List[str]¶
- notify(self, arg__1: PySide6.QtCore.QObject, arg__2: PySide6.QtCore.QEvent, /) bool¶
- static organizationDomain() str¶
- organizationDomainChanged¶
- static organizationName() str¶
- organizationNameChanged¶
- static postEvent(receiver: PySide6.QtCore.QObject, event: PySide6.QtCore.QEvent, /, priority: int = Instance(Qt.NormalEventPriority)) None¶
- static processEvents(flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag = Instance(PySide6.QtCore.QEventLoop.AllEvents)) None¶
- static processEvents(flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag, maxtime: int, /) None
- static processEvents(flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag, deadline: PySide6.QtCore.QDeadlineTimer | PySide6.QtCore.QDeadlineTimer.ForeverConstant | int, /) None
- static quit() None¶
- static removeLibraryPath(arg__1: str, /) None¶
- removeNativeEventFilter(self, filterObj: PySide6.QtCore.QAbstractNativeEventFilter, /) None¶
- static removePostedEvents(receiver: PySide6.QtCore.QObject, /, eventType: int | None = None) None¶
- static removeTranslator(messageFile: PySide6.QtCore.QTranslator, /) bool¶
- requestPermission(self, permission: PySide6.QtCore.QBluetoothPermission, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None¶
- requestPermission(self, permission: PySide6.QtCore.QCalendarPermission, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None
- requestPermission(self, permission: PySide6.QtCore.QCameraPermission, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None
- requestPermission(self, permission: PySide6.QtCore.QContactsPermission, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None
- requestPermission(self, permission: PySide6.QtCore.QLocationPermission, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None
- requestPermission(self, permission: PySide6.QtCore.QMicrophonePermission, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None
- resolveInterface(self, name: bytes | bytearray | memoryview, revision: int, /) int¶
- static sendEvent(receiver: PySide6.QtCore.QObject, event: PySide6.QtCore.QEvent, /) bool¶
- static sendPostedEvents(receiver: PySide6.QtCore.QObject | None = None, event_type: int | None = None) None¶
- static setApplicationName(application: str, /) None¶
- static setApplicationVersion(version: str, /) None¶
- static setAttribute(attribute: PySide6.QtCore.Qt.ApplicationAttribute, /, on: bool = True) None¶
- static setEventDispatcher(eventDispatcher: PySide6.QtCore.QAbstractEventDispatcher, /) None¶
- static setLibraryPaths(arg__1: collections.abc.Sequence[str], /) None¶
- static setOrganizationDomain(orgDomain: str, /) None¶
- static setOrganizationName(orgName: str, /) None¶
- static setQuitLockEnabled(enabled: bool, /) None¶
- static setSetuidAllowed(allow: bool, /) None¶
- shutdown(self, /) None¶
- static startingUp() bool¶
- staticMetaObject = PySide6.QtCore.QMetaObject("QCoreApplication" inherits "QObject": Properties: #1 "applicationName", QString [writeable] [designable], notify=applicationNameChanged #2 "applicationVersion", QString [writeable] [designable], notify=applicationVersionChanged #3 "organizationName", QString [writeable] [designable], notify=organizationNameChanged #4 "organizationDomain", QString [writeable] [designable], notify=organizationDomainChanged #5 "quitLockEnabled", bool [writeable] [designable] Methods: #4 type=Signal, signature=aboutToQuit() #5 type=Signal, signature=organizationNameChanged() #6 type=Signal, signature=organizationDomainChanged() #7 type=Signal, signature=applicationNameChanged() #8 type=Signal, signature=applicationVersionChanged() #9 type=Slot, signature=quit() #10 type=Slot, signature=exit(int), parameters=int #11 type=Slot, signature=exit() )¶
- static testAttribute(attribute: PySide6.QtCore.Qt.ApplicationAttribute, /) bool¶
- static translate(context: str, key: str, /, disambiguation: str | None = None, n: int = -1) str¶
- class sas.qtgui.Utilities.ReactorCore.QEventLoop(self, /, parent: PySide6.QtCore.QObject | None = None)¶
Bases:
QObject- class ProcessEventsFlag(value)¶
Bases:
Flag- AllEvents = 0¶
- ApplicationExec = 128¶
- DialogExec = 64¶
- EventLoopExec = 32¶
- ExcludeSocketNotifiers = 2¶
- ExcludeUserInputEvents = 1¶
- WaitForMoreEvents = 4¶
- X11ExcludeTimers = 8¶
- __and__(other)¶
- __doc__ = None¶
- __invert__()¶
- __module__ = 'PySide6.QtCore'¶
- __new__(value)¶
- __or__(other)¶
Return self|value.
- __rand__(other)¶
- __ror__(other)¶
Return value|self.
- __rxor__(other)¶
- __xor__(other)¶
- _all_bits_ = 255¶
- _boundary_ = 'keep'¶
- _flag_mask_ = 239¶
- _generate_next_value_(start, count, last_values)¶
Generate the next value when not given.
name: the name of the member start: the initial start value or None count: the number of existing members last_values: the last value assigned or None
- _inverted_ = None¶
- _singles_mask_ = 239¶
- __delattr__(name, /)¶
Implement delattr(self, name).
- __doc__ = 'QEventLoop(self, /, parent: PySide6.QtCore.QObject | None = None) -> None'¶
- __init__(self, /, parent: PySide6.QtCore.QObject | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'PySide6.QtCore'¶
- classmethod __new__(*args, **kwargs)¶
- __setattr__(name, value, /)¶
Implement setattr(self, name, value).
- event(self, event: PySide6.QtCore.QEvent, /) bool¶
- exec(self, /, flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag = Instance(PySide6.QtCore.QEventLoop.ProcessEventsFlag.AllEvents)) int¶
- exec_(*args, **kwargs)¶
- exit(self, /, returnCode: int | None = None) None¶
- isRunning(self, /) bool¶
- processEvents(self, /, flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag = Instance(PySide6.QtCore.QEventLoop.ProcessEventsFlag.AllEvents)) bool¶
- processEvents(self, flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag, maximumTime: int, /) None
- processEvents(self, flags: PySide6.QtCore.QEventLoop.ProcessEventsFlag, deadline: PySide6.QtCore.QDeadlineTimer | PySide6.QtCore.QDeadlineTimer.ForeverConstant | int, /) None
- quit(self, /) None¶
- staticMetaObject = PySide6.QtCore.QMetaObject("QEventLoop" inherits "QObject": Enumerators: #0 "ProcessEventsFlags" {AllEvents, ExcludeUserInputEvents, ExcludeSocketNotifiers, WaitForMoreEvents, X11ExcludeTimers, EventLoopExec, DialogExec, ApplicationExec} Methods: #4 type=Slot, signature=exit(int), parameters=int #5 type=Slot, signature=exit() #6 type=Slot, signature=quit() )¶
- wakeUp(self, /) None¶
- class sas.qtgui.Utilities.ReactorCore.QObject(self, /, parent: PySide6.QtCore.QObject | None = None, *, objectName: str | None = None)¶
Bases:
Object- __annotations__ = {}¶
- __delattr__(name, /)¶
Implement delattr(self, name).
- __doc__ = 'QObject(self, /, parent: PySide6.QtCore.QObject | None = None, *, objectName: str | None = None) -> None'¶
- __getattribute__(name, /)¶
Return getattr(self, name).
- __init__(self, /, parent: PySide6.QtCore.QObject | None = None, *, objectName: str | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'PySide6.QtCore'¶
- classmethod __new__(*args, **kwargs)¶
- __repr__()¶
Return repr(self).
- __setattr__(name, value, /)¶
Implement setattr(self, name, value).
- blockSignals(self, b: bool, /) bool¶
- childEvent(self, event: PySide6.QtCore.QChildEvent, /) None¶
- children(self, /) List[PySide6.QtCore.QObject]¶
- static connect(sender: PySide6.QtCore.QObject, signal: PySide6.QtCore.QMetaMethod, receiver: PySide6.QtCore.QObject, method: PySide6.QtCore.QMetaMethod, /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection¶
- static connect(sender: PySide6.QtCore.QObject, signal: str, receiver: PySide6.QtCore.QObject, member: str, /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection
- static connect(sender: PySide6.QtCore.QObject, signal: str, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection
- static connect(sender: PySide6.QtCore.QObject, signal: str, functor: collections.abc.Callable[..., Any], /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection
- static connect(self, sender: PySide6.QtCore.QObject, signal: str, member: str, /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection
- static connect(self, signal: str, receiver: PySide6.QtCore.QObject, method: str, /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection
- static connect(self, signal: str, functor: collections.abc.Callable[..., Any], /, type: PySide6.QtCore.Qt.ConnectionType = Instance(Qt.AutoConnection)) PySide6.QtCore.QMetaObject.Connection
- connectNotify(self, signal: PySide6.QtCore.QMetaMethod, /) None¶
- customEvent(self, event: PySide6.QtCore.QEvent, /) None¶
- deleteLater(self, /) None¶
- destroyed¶
- static disconnect(connection: PySide6.QtCore.QMetaObject.Connection, /) bool¶
- static disconnect(sender: PySide6.QtCore.QObject, signal: PySide6.QtCore.QMetaMethod, receiver: PySide6.QtCore.QObject, member: PySide6.QtCore.QMetaMethod, /) bool
- static disconnect(sender: PySide6.QtCore.QObject, signal: str, receiver: PySide6.QtCore.QObject, member: str, /) bool
- static disconnect(sender: PySide6.QtCore.QObject, signal: str, functor: collections.abc.Callable[..., Any], /) bool
- static disconnect(self, receiver: PySide6.QtCore.QObject, /, member: str | None = None) bool
- static disconnect(self, signal: str, receiver: PySide6.QtCore.QObject, member: str, /) bool
- static disconnect(self, signal: str, functor: collections.abc.Callable[..., Any], /) bool
- disconnectNotify(self, signal: PySide6.QtCore.QMetaMethod, /) None¶
- dumpObjectInfo(self, /) None¶
- dumpObjectTree(self, /) None¶
- dynamicPropertyNames(self, /) List[PySide6.QtCore.QByteArray]¶
- emit(self, signal: bytes | bytearray | memoryview, /, *args: None) bool¶
- event(self, event: PySide6.QtCore.QEvent, /) bool¶
- eventFilter(self, watched: PySide6.QtCore.QObject, event: PySide6.QtCore.QEvent, /) bool¶
- findChild(self, type: Type[PlaceholderType], /, name: str = {}, options: PySide6.QtCore.Qt.FindChildOption = Instance(Qt.FindChildrenRecursively)) PlaceholderType | None¶
- findChildren(self, type: Type[PlaceholderType], /, name: str = {}, options: PySide6.QtCore.Qt.FindChildOption = Instance(Qt.FindChildrenRecursively)) List[PlaceholderType]¶
- findChildren(self, type: Type[PlaceholderType], pattern: PySide6.QtCore.QRegularExpression | str, /, options: PySide6.QtCore.Qt.FindChildOption = Instance(Qt.FindChildrenRecursively)) List[PlaceholderType]
- inherits(self, classname: str, /) bool¶
- installEventFilter(self, filterObj: PySide6.QtCore.QObject, /) None¶
- isQuickItemType(self, /) bool¶
- isSignalConnected(self, signal: PySide6.QtCore.QMetaMethod, /) bool¶
- isWidgetType(self, /) bool¶
- isWindowType(self, /) bool¶
- killTimer(self, id: PySide6.QtCore.Qt.TimerId, /) None¶
- killTimer(self, id: int, /) None
- metaObject(self, /) PySide6.QtCore.QMetaObject¶
- moveToThread(self, thread: PySide6.QtCore.QThread, /) bool¶
- objectName(self, /) str¶
- objectNameChanged¶
- parent(self, /) PySide6.QtCore.QObject¶
- property(self, name: str, /) Any¶
- receivers(self, signal: str, /) int¶
- removeEventFilter(self, obj: PySide6.QtCore.QObject, /) None¶
- sender(self, /) PySide6.QtCore.QObject¶
- senderSignalIndex(self, /) int¶
- setObjectName(self, name: str, /) None¶
- setParent(self, parent: PySide6.QtCore.QObject | None, /) None¶
- setProperty(self, name: str, value: Any, /) bool¶
- signalsBlocked(self, /) bool¶
- startTimer(self, interval: int, /, timerType: PySide6.QtCore.Qt.TimerType = Instance(Qt.CoarseTimer)) int¶
- staticMetaObject = PySide6.QtCore.QMetaObject("QObject": Properties: #0 "objectName", QString [writeable] [designable], notify=objectNameChanged Methods: #0 type=Signal, signature=destroyed(QObject*), parameters=QObject* #1 type=Signal, signature=destroyed() #2 type=Signal, signature=objectNameChanged(QString), parameters=QString #3 type=Slot, signature=deleteLater() )¶
- thread(self, /) PySide6.QtCore.QThread¶
- timerEvent(self, event: PySide6.QtCore.QTimerEvent, /) None¶
- classmethod tr(self, sourceText: str, /, disambiguation: str | None = None, n: int = -1) str¶
- class sas.qtgui.Utilities.ReactorCore.QSocketNotifier(self, arg__1: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None)¶
- class sas.qtgui.Utilities.ReactorCore.QSocketNotifier(self, socket: int, arg__2: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None)
- class sas.qtgui.Utilities.ReactorCore.QSocketNotifier(self, arg__1: object, arg__2: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None)
Bases:
QObject- class Type(value)¶
Bases:
Enum- Exception = 2¶
- Read = 0¶
- Write = 1¶
- __doc__ = None¶
- __module__ = 'PySide6.QtCore'¶
- _missing_()¶
- __delattr__(name, /)¶
Implement delattr(self, name).
- __doc__ = 'QSocketNotifier(self, arg__1: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None) -> None\nQSocketNotifier(self, socket: int, arg__2: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None) -> None\nQSocketNotifier(self, arg__1: object, arg__2: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None) -> None'¶
- __init__(self, arg__1: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None) None¶
- __init__(self, socket: int, arg__2: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None) None
- __init__(self, arg__1: object, arg__2: PySide6.QtCore.QSocketNotifier.Type, /, parent: PySide6.QtCore.QObject | None = None) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'PySide6.QtCore'¶
- classmethod __new__(*args, **kwargs)¶
- __setattr__(name, value, /)¶
Implement setattr(self, name, value).
- activated¶
- event(self, arg__1: PySide6.QtCore.QEvent, /) bool¶
- isEnabled(self, /) bool¶
- isValid(self, /) bool¶
- setEnabled(self, arg__1: bool, /) None¶
- setSocket(self, socket: int, /) None¶
- socket(self, /) int¶
- staticMetaObject = PySide6.QtCore.QMetaObject("QSocketNotifier" inherits "QObject": Methods: #4 type=Signal, signature=activated(QSocketDescriptor,QSocketNotifier::Type), parameters=QSocketDescriptor, QSocketNotifier::Type #5 type=Signal, signature=activated(QSocketDescriptor), parameters=QSocketDescriptor #6 type=Signal, signature=activated(int), parameters=int #7 type=Slot, signature=setEnabled(bool), parameters=bool )¶
- type(self, /) PySide6.QtCore.QSocketNotifier.Type¶
- class sas.qtgui.Utilities.ReactorCore.QTimer(self, /, parent: PySide6.QtCore.QObject | None = None, *, singleShot: bool | None = None, interval: int | None = None, remainingTime: int | None = None, timerType: PySide6.QtCore.Qt.TimerType | None = None, active: bool | None = None)¶
Bases:
QObject- __delattr__(name, /)¶
Implement delattr(self, name).
- __doc__ = 'QTimer(self, /, parent: PySide6.QtCore.QObject | None = None, *, singleShot: bool | None = None, interval: int | None = None, remainingTime: int | None = None, timerType: PySide6.QtCore.Qt.TimerType | None = None, active: bool | None = None) -> None'¶
- __init__(self, /, parent: PySide6.QtCore.QObject | None = None, *, singleShot: bool | None = None, interval: int | None = None, remainingTime: int | None = None, timerType: PySide6.QtCore.Qt.TimerType | None = None, active: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'PySide6.QtCore'¶
- classmethod __new__(*args, **kwargs)¶
- __setattr__(name, value, /)¶
Implement setattr(self, name, value).
- id(self, /) PySide6.QtCore.Qt.TimerId¶
- interval(self, /) int¶
- intervalAsDuration(self, /) int¶
- isActive(self, /) bool¶
- isSingleShot(self, /) bool¶
- killTimer(self, arg__1: int, /) None¶
- remainingTime(self, /) int¶
- remainingTimeAsDuration(self, /) int¶
- setInterval(self, msec: int, /) None¶
- setSingleShot(self, singleShot: bool, /) None¶
- setTimerType(self, atype: PySide6.QtCore.Qt.TimerType, /) None¶
- static singleShot(msec: int, context: PySide6.QtCore.QObject, functor: collections.abc.Callable[..., Any], /) None¶
- static singleShot(msec: int, receiver: PySide6.QtCore.QObject, member: bytes | bytearray | memoryview, /) None
- static singleShot(msec: int, timerType: PySide6.QtCore.Qt.TimerType, receiver: PySide6.QtCore.QObject, member: bytes | bytearray | memoryview, /) None
- static singleShot(msec: int, functor: collections.abc.Callable[..., Any], /) None
- start(self, /) None¶
- start(self, msec: int, /) None
- staticMetaObject = PySide6.QtCore.QMetaObject("QTimer" inherits "QObject": Properties: #1 "singleShot", bool [writeable] [designable] #2 "interval", int [writeable] [designable] #3 "remainingTime", int [designable] #4 "timerType", Qt::TimerType [writeable] [designable] #5 "active", bool [designable] Methods: #4 type=Signal, signature=timeout() #5 type=Slot, signature=start(int), parameters=int #6 type=Slot, signature=start() #7 type=Slot, signature=stop() )¶
- stop(self, /) None¶
- timeout¶
- timerEvent(self, arg__1: PySide6.QtCore.QTimerEvent, /) None¶
- timerId(self, /) int¶
- timerType(self, /) PySide6.QtCore.Qt.TimerType¶
- exception sas.qtgui.Utilities.ReactorCore.Qt5ReactorError¶
Bases:
Exception- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.ReactorCore'¶
- __weakref__¶
list of weak references to the object
- class sas.qtgui.Utilities.ReactorCore.QtEventReactor(*args, **kwargs)¶
Bases:
QtReactor- __annotations__ = {}¶
- __doc__ = None¶
- __init__(*args, **kwargs)¶
- __module__ = 'sas.qtgui.Utilities.ReactorCore'¶
- _runAction(action, fd)¶
- addEvent(event, fd, action)¶
Add a new win32 event to the event loop.
- doEvents()¶
- iterate(delay=None, fromqt=False)¶
See twisted.internet.interfaces.IReactorCore.iterate.
- removeEvent(event)¶
Remove an event.
- class sas.qtgui.Utilities.ReactorCore.QtReactor¶
Bases:
PosixReactorBase- __annotations__ = {}¶
- __doc__ = None¶
- __implemented__ = classImplements(QtReactor, IReactorFDSet)¶
- __init__()¶
- __module__ = 'sas.qtgui.Utilities.ReactorCore'¶
- __provides__¶
Special descriptor for class
__provides__The descriptor caches the implementedBy info, so that we can get declarations for objects without instance-specific interfaces a bit quicker.
- _add(xer, primary, type)¶
Private method for adding a descriptor from the event loop.
It takes care of adding it if new or modifying it if already added for another state (read -> read/write for example).
- _iterate(delay=None, fromqt=False)¶
See twisted.internet.interfaces.IReactorCore.iterate.
- _remove(xer, primary)¶
Private method for removing a descriptor from the event loop.
It does the inverse job of _add, and also add a check in case of the fd has gone away.
- addReader(reader)¶
Add a FileDescriptor for notification of data available to read.
- addWriter(writer)¶
Add a FileDescriptor for notification of data available to write.
- callLater(howlong, *args, **kargs)¶
See twisted.internet.interfaces.IReactorTime.callLater.
- doIteration(delay=None, fromqt=False)¶
This method is called by a Qt timer or by network activity on a file descriptor
- getReaders()¶
- getWriters()¶
- iterate(delay=None, fromqt=False)¶
See twisted.internet.interfaces.IReactorCore.iterate.
- iterate_qt(delay=None)¶
- reactorInvocation()¶
- removeAll()¶
Remove all selectables, and return a list of them.
- removeReader(reader)¶
Remove a Selectable for notification of data available to read.
- removeWriter(writer)¶
Remove a Selectable for notification of data available to write.
- run(installSignalHandlers=True)¶
- runReturn(installSignalHandlers=True)¶
- exception sas.qtgui.Utilities.ReactorCore.ReactorAlreadyInstalledError¶
Bases:
AssertionErrorCould not install reactor because one is already installed.
- __doc__ = '\n Could not install reactor because one is already installed.\n '¶
- __module__ = 'twisted.internet.error'¶
- __weakref__¶
list of weak references to the object
- class sas.qtgui.Utilities.ReactorCore.TwistedSocketNotifier(parent, reactor, watcher, socketType)¶
Bases:
QObjectConnection between an fd event and reader/writer callbacks.
- __doc__ = 'Connection between an fd event and reader/writer callbacks.'¶
- __init__(self, /, parent: PySide6.QtCore.QObject | None = None, *, objectName: str | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Utilities.ReactorCore'¶
- read(fd)¶
- shutdown()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("TwistedSocketNotifier" inherits "QObject": )¶
- write(sock)¶
- class sas.qtgui.Utilities.ReactorCore.implementer(*interfaces)¶
Bases:
objectDeclare the interfaces implemented by instances of a class.
This function is called as a class decorator.
The arguments are one or more interfaces or interface specifications (~zope.interface.interfaces.IDeclaration objects).
The interfaces given (including the interfaces in the specifications) are added to any interfaces previously declared, unless the interface is already implemented.
Previous declarations include declarations for base classes unless implementsOnly was used.
This function is provided for convenience. It provides a more convenient way to call classImplements. For example:
@implementer(I1) class C(object): pass
is equivalent to calling:
classImplements(C, I1)
after the class has been created.
See also
classImplements The change history provided there applies to this function too.
- __call__(ob)¶
Call self as a function.
- __doc__ = '\n Declare the interfaces implemented by instances of a class.\n\n This function is called as a class decorator.\n\n The arguments are one or more interfaces or interface specifications\n (`~zope.interface.interfaces.IDeclaration` objects).\n\n The interfaces given (including the interfaces in the specifications) are\n added to any interfaces previously declared, unless the interface is\n already implemented.\n\n Previous declarations include declarations for base classes unless\n implementsOnly was used.\n\n This function is provided for convenience. It provides a more convenient\n way to call `classImplements`. For example::\n\n @implementer(I1)\n class C(object):\n pass\n\n is equivalent to calling::\n\n classImplements(C, I1)\n\n after the class has been created.\n\n .. seealso:: `classImplements`\n The change history provided there applies to this function too.\n '¶
- __init__(*interfaces)¶
- __module__ = 'zope.interface.declarations'¶
- __slots__ = ('interfaces',)¶
- interfaces¶
- sas.qtgui.Utilities.ReactorCore.install()¶
Install the Qt reactor.
- sas.qtgui.Utilities.ReactorCore.posixinstall()¶
Install the Qt reactor.
- sas.qtgui.Utilities.ReactorCore.win32install()¶
Install the Qt reactor.
sas.qtgui.Utilities.ResultPanel module¶
FitPanel class contains fields allowing to fit models and data
- class sas.qtgui.Utilities.ResultPanel.ResultPanel(parent, manager=None, *args, **kwargs)¶
Bases:
QTabWidgetFitPanel class contains fields allowing to fit models and data
- Note:
For Fit to be performed the user should check at least one parameter on fit Panel window.
- __doc__ = '\n FitPanel class contains fields allowing to fit models and data\n\n :note: For Fit to be performed the user should check at least one parameter\n on fit Panel window.\n\n '¶
- __init__(parent, manager=None, *args, **kwargs)¶
- __module__ = 'sas.qtgui.Utilities.ResultPanel'¶
- clearAnyData()¶
Clear any previous results and reset window to its base state.
- closeEvent(event)¶
Overwrite QDialog close method to allow for custom widget close
- onDataDeleted(data)¶
Check if the data set is shown in the window and close tabs as needed.
- onPlotResults(results, optimizer='Unknown')¶
- staticMetaObject = PySide6.QtCore.QMetaObject("ResultPanel" inherits "QTabWidget": Methods: #39 type=Signal, signature=windowClosedSignal() )¶
- windowClosedSignal¶
- window_name = 'Result panel'¶
sas.qtgui.Utilities.SasviewLogger module¶
- class sas.qtgui.Utilities.SasviewLogger.QtHandler¶
Bases:
HandlerEmit python log messages through a Qt signal. Receivers can connect to handler.postman.messageWritten with a method accepting the formatted log entry produced by the logger.
- __doc__ = '\n Emit python log messages through a Qt signal. Receivers can connect\n to *handler.postman.messageWritten* with a method accepting the\n formatted log entry produced by the logger.\n '¶
- __init__()¶
Initializes the instance - basically setting the formatter to None and the filter list to empty.
- __module__ = 'sas.qtgui.Utilities.SasviewLogger'¶
- emit(record)¶
Do whatever it takes to actually log the specified logging record.
This version is intended to be implemented by subclasses and so raises a NotImplementedError.
- class sas.qtgui.Utilities.SasviewLogger.QtPostman¶
Bases:
QObject- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.SasviewLogger'¶
- messageWritten¶
- staticMetaObject = PySide6.QtCore.QMetaObject("QtPostman" inherits "QObject": Methods: #4 type=Signal, signature=messageWritten(PyObject), parameters=PyObject )¶
- class sas.qtgui.Utilities.SasviewLogger.SasViewLogFormatter(fmt=None, datefmt=None, style='%', validate=True, *, defaults=None)¶
Bases:
Formatter- DATE_FORMAT = '%H:%M:%S'¶
- LOG_COLORS = {'CRITICAL': 'red', 'ERROR': 'red', 'WARNING': 'orange'}¶
- LOG_FORMAT = '%(asctime)s - <b{}>%(levelname)s</b>: %(message)s'¶
- __doc__ = None¶
- __module__ = 'sas.qtgui.Utilities.SasviewLogger'¶
- format(record)¶
Give extra formatting on error messages
- sas.qtgui.Utilities.SasviewLogger.setup_qt_logging()¶