rayoptics.qtgui.rayopticsapp module

Ray Optics GUI Application

Relies on PySide6

class MainWindow(parent=None, qtapp=None)[source]

Bases: QMainWindow

count = 0
add_subwindow(widget, model_info)[source]
delete_subwindow(sub_wind)[source]
add_ipython_subwindow(opt_model)[source]
initial_window_offset()[source]
do_file_action(q)[source]
file_action(action)[source]
new_model(**kwargs)[source]
new_empty_model(**kwargs)[source]
new_model_via_specsheet()[source]
new_model_via_diagram(**kwargs)[source]

Define a new model using a \(y-\overline{y}\) diagram.

new_ipython_console(opt_model)[source]
open_file(file_name, **kwargs)[source]
save_file(file_name)[source]
close_model()[source]

NOTE: this does not check to save a modified model

do_view_action(q)[source]
view_action(action)[source]
do_window_action(q)[source]
window_action(action)[source]
light_or_dark(is_dark)[source]

set the UI to a light or dark scheme.

Qt doesn’t seem to support controlling the MdiArea’s background from a style sheet. Set the widget directly and save the original color to reset defaults.

create_lens_table()[source]
create_ray_table(opt_model)[source]
create_table_view(table_model, table_title, close_callback=None, update_callback=None)[source]
eventFilter(obj, event)[source]

Used by subwindows in response to installEventFilter.

refresh_gui(**kwargs)[source]
refresh_app_ui()[source]
handle_ideal_imager_command(iid, command, specsheet)[source]

link Ideal Imager Dialog buttons to model actions iid: ideal imager dialog command: text field with the action - same as button label specsheet: the input specsheet used to drive the actions

on_data_changed(rootObj, index)[source]
staticMetaObject = PySide6.QtCore.QMetaObject("MainWindow" inherits "QMainWindow": Methods:   #39 type=Slot, signature=on_data_changed(PyObject,int), parameters=PyObject, int )
main()[source]