Create project UIο
Set machine learning hyperparameters UIο
- class simba.ui.machine_model_settings_ui.MachineModelSettingsPopUp(config_path: Union[str, PathLike])[source]ο
Bases:
PopUpMixin,ConfigReaderGUI window for specifying ML model training parameters.
SimBA ML settings frameο
SimBA tkinter methodsο
- simba.ui.tkinter_functions.CreateLabelFrameWithIcon(parent: ~typing.Union[~tkinter.Toplevel, ~tkinter.LabelFrame, ~tkinter.Canvas, ~tkinter.Frame], header: str, icon_name: str, padx: ~typing.Optional[int] = None, pady: ~typing.Optional[int] = None, relief: str = 'solid', width: ~typing.Optional[int] = None, bg: ~typing.Optional[str] = None, font: tuple = ('DejaVu Sans', 10, 'bold'), icon_link: ~typing.Optional[str] = <class 'tkinter.LabelFrame'>, tooltip_key: ~typing.Optional[str] = None)[source]ο
- class simba.ui.tkinter_functions.DropDownMenu(parent=None, dropdownLabel='', choice_dict=None, labelwidth='', com=None, val: Optional[Any] = None, **kw)[source]ο
Bases:
FrameLegacy, use
simba.ui.tkinter_functions.SimBADropDown().
- class simba.ui.tkinter_functions.Entry_Box(parent: Union[Frame, Canvas, LabelFrame, Toplevel, Tk], fileDescription: Optional[str] = '', labelwidth: Optional[Union[int, str]] = None, label_bg_clr: Optional[str] = None, status: typing_extensions.Literal['normal', 'disabled', 'readonly'] = 'normal', validation: Optional[Union[Callable, str]] = None, trace: Optional[Callable] = None, entry_box_width: Optional[Union[int, str]] = None, entry_box_clr: Optional[str] = 'white', img: Optional[str] = None, value: Optional[Any] = None, bg_clr: Optional[str] = None, label_font: tuple = ('DejaVu Sans', 8), entry_font: tuple = ('DejaVu Sans', 8), tooltip_key: Optional[str] = None, justify: typing_extensions.Literal['left', 'center', 'right'] = 'left', cmd: Optional[Callable] = None, allow_blank: bool = False, **kw)[source]ο
Bases:
Frame- property entry_getο
- class simba.ui.tkinter_functions.FileSelect(parent=None, fileDescription='', color=None, title: Optional[str] = None, lblwidth: Optional[int] = None, file_types=None, bg_clr: Optional[str] = 'white', dropdown: Optional[Union[DropDownMenu, SimBADropDown]] = None, entry_width: Optional[int] = 20, status: Optional[str] = None, lbl_icon: Optional[str] = None, font: Tuple = ('DejaVu Sans', 8), initialdir: Optional[Union[str, PathLike]] = None, initial_path: Optional[Union[str, PathLike]] = None, tooltip_txt: Optional[str] = None, tooltip_key: Optional[str] = None, **kw)[source]ο
Bases:
Frame- property file_pathο
- class simba.ui.tkinter_functions.FolderSelect(parent: Union[Frame, LabelFrame, Canvas, Toplevel], folderDescription: Optional[str] = '', color: Optional[str] = None, label_bg_clr: Optional[str] = None, font: Tuple = ('DejaVu Sans', 8), title: Optional[str] = '', lblwidth: Optional[int] = 0, bg_clr: Optional[str] = 'white', entry_width: Optional[int] = 20, lbl_icon: Optional[str] = None, initialdir: Optional[Union[str, PathLike]] = None, tooltip_txt: Optional[str] = None, tooltip_key: Optional[str] = None, **kw)[source]ο
Bases:
Frame- property folder_pathο
- class simba.ui.tkinter_functions.SimBADropDown(parent: Union[Frame, Canvas, LabelFrame, Toplevel, Tk], dropdown_options: Union[Iterable[Any], List[Any], Tuple[Any]], label: Optional[str] = None, label_width: Optional[int] = None, label_font: tuple = ('DejaVu Sans', 8), label_bg_clr: Optional[str] = None, dropdown_font_size: Optional[int] = None, justify: typing_extensions.Literal['left', 'right', 'center'] = 'center', img: Optional[str] = None, dropdown_width: Optional[int] = None, command: Optional[Callable] = None, value: Optional[Any] = None, state: Optional[str] = None, searchable: bool = False, tooltip_txt: Optional[str] = None, tooltip_key: Optional[str] = None)[source]ο
Bases:
FrameCreate a dropdown menu widget with optional searchable functionality.
This class creates a ttk.Combobox dropdown menu with a label, supporting both readonly and searchable modes. When searchable mode is enabled, users can type to filter the dropdown options.
- Parameters
Tk) (parent (Frame | Canvas | LabelFrame | Toplevel |) β The parent widget container.
Tuple[Any]) (dropdown_options (Iterable[Any] | List[Any] |) β List of options to display in the dropdown menu.
optional) (tooltip_key (str,) β Text label displayed next to the dropdown. Default: None.
optional) β Width of the label in characters. Default: None.
optional) β Font tuple for the label. Default: Formats.FONT_REGULAR.value.
optional) β Background color for the label. Default: None.
optional) β Font size for the dropdown text. Default: None.
(str) (justify) β Text justification in the dropdown (βleftβ, βcenterβ, βrightβ). Default: βcenterβ.
optional) β Width of the dropdown widget in characters. Default: None.
optional) β Callback function to execute when an option is selected. Default: None.
optional) β Initial selected value for the dropdown. Default: None.
optional) β Initial state of the dropdown (βnormalβ, βdisabledβ). Default: None.
(bool) (searchable) β If True, allows typing to filter dropdown options. Default: False.
optional) β Tooltip text to display on hover. Default: None.
optional) β Key for tooltip lookup in TOOLTIPS dictionary. For dictionary, see simba.assets.lookups.tooptips.json. Default: None.
- Example
>>> dropdown = SimBADropDown(parent=parent_frm, dropdown_options=['Option 1', 'Option 2', 'Option 3'], label='Select option:', searchable=True) >>> selected = dropdown.get_value()
- simba.ui.tkinter_functions.SimBALabel(parent: Union[Frame, Canvas, LabelFrame, Toplevel], txt: str, txt_clr: str = 'black', bg_clr: Optional[str] = None, hover_fg_clr: Optional[str] = None, font: tuple = ('DejaVu Sans', 8), hover_font: Optional[Tuple] = None, relief: str = 'flat', compound: Optional[typing_extensions.Literal['left', 'right', 'top', 'bottom', 'center']] = 'left', justify: Optional[str] = None, link: Optional[str] = None, width: Optional[int] = None, padx: Optional[int] = None, pady: Optional[int] = None, cursor: Optional[str] = None, img: Optional[str] = None, anchor: Optional[str] = None, tooltip_key: Optional[str] = None, hover_img: Optional[ndarray] = None)[source]ο
- simba.ui.tkinter_functions.SimBARadioButton(parent: Union[Frame, Canvas, LabelFrame, Toplevel], txt: str, variable: Union[BooleanVar, StringVar], txt_clr: Optional[str] = 'black', font: Optional[Tuple] = ('DejaVu Sans', 8), compound: Optional[str] = 'left', img: Optional[Union[PhotoImage, str]] = None, enabled: Optional[bool] = True, tooltip_txt: Optional[str] = None, value: bool = False, cmd: Optional[Callable] = None, cmd_kwargs: Optional[Dict[Any, Any]] = None) Radiobutton[source]ο
- class simba.ui.tkinter_functions.SimBAScaleBar(parent: Union[Frame, Canvas, LabelFrame, Toplevel, Tk], label: Optional[str] = None, label_width: Optional[int] = None, orient: typing_extensions.Literal['horizontal', 'vertical'] = 'horizontal', length: int = 200, value: Optional[int] = 95, showvalue: bool = True, label_clr: str = 'black', lbl_font: tuple = ('DejaVu Sans', 8), scale_font: tuple = ('DejaVu Sans', 8, 'italic'), lbl_img: Optional[str] = None, from_: int = -1, resolution: int = 1, to: int = 100, tickinterval: Optional[int] = None, troughcolor: Optional[str] = None, activebackground: Optional[str] = None, sliderrelief: typing_extensions.Literal['raised', 'sunken', 'flat', 'ridge', 'solid', 'groove'] = 'flat')[source]ο
Bases:
Frame
- class simba.ui.tkinter_functions.SimBASeperator(parent: Union[Frame, Canvas, LabelFrame, Toplevel, Tk], color: Optional[str] = 'black', orient: typing_extensions.Literal['horizontal', 'vertical'] = 'horizontal', cursor: Optional[str] = None, borderwidth: Optional[int] = None, takefocus: Optional[int] = 0, height: int = 1, relief: typing_extensions.Literal['raised', 'sunken', 'flat', 'ridge', 'solid', 'groove'] = 'flat')[source]ο
Bases:
Frame
- simba.ui.tkinter_functions.SimbaButton(parent: Union[Frame, Canvas, LabelFrame, Toplevel], txt: str, txt_clr: Optional[str] = 'black', bg_clr: Optional[str] = '#f0f0f0', active_bg_clr: Optional[str] = None, hover_bg_clr: Optional[str] = '#d1e0e0', hover_font: Optional[Tuple] = ('DejaVu Sans', 8, 'bold'), font: Optional[Tuple] = ('DejaVu Sans', 8), width: Optional[int] = None, height: Optional[int] = None, compound: Optional[str] = 'left', img: Optional[Union[PhotoImage, str]] = None, cmd: Optional[Callable] = None, cmd_kwargs: Optional[Dict[Any, Any]] = None, enabled: Optional[bool] = True, anchor: str = 'w', thread: Optional[bool] = False, tooltip_txt: Optional[str] = None, tooltip_key: Optional[str] = None) Button[source]ο
- simba.ui.tkinter_functions.SimbaCheckbox(parent: Union[Frame, Toplevel, LabelFrame, Canvas], txt: str, txt_clr: Optional[str] = 'black', bg_clr: Optional[str] = None, txt_img: Optional[str] = None, txt_img_location: typing_extensions.Literal['left', 'right', 'top', 'bottom'] = 'right', font: Optional[Tuple[str, str, int]] = ('DejaVu Sans', 8), val: Optional[bool] = False, state: typing_extensions.Literal['disabled', 'normal'] = 'normal', indicatoron: bool = True, cmd: Optional[Callable] = None, tooltip_txt: Optional[str] = None, tooltip_key: Optional[str] = None)[source]ο
- class simba.ui.tkinter_functions.TwoOptionQuestionPopUp(question: str, option_one: str, option_two: str, title: str, link: Optional[str] = None)[source]ο
Bases:
objectHelpe to create a two-option question tkinter pop up window (e.g., YES/NO).
- Parameters
question (str) β Question to present to the user. E.g.,
DO YOU WANT TO PROCEED?.option_one (str) β The first user option. E.g.,
YES.option_one β The second user option. E.g.,
NO.title (str) β The window titel in the top banner of the pop-up. E.g.,
A QUESTION FOR YOU!.link (Optional[str]) β If not None, then a link to documentation presenting background info about the user choices.
- simba.ui.tkinter_functions.create_scalebar(parent: Frame, name: str, min: int, max: int, cmd: object = None)[source]ο
SimBA create user-defined pose config UIο
- class simba.ui.user_defined_pose_creator.PoseConfigCreator(pose_name: str, animal_cnt: int, img_path: Union[str, PathLike], bp_list: List[str], animal_id_int_list: List[int], circle_scale: Optional[int] = None)[source]ο
Bases:
PlottingMixinClass for creating user-defined pose-estimation pipeline in SimBA through a GUI interface.
- ..seealso::
- Parameters
pose_name (str) β Name of the user-defined pose-estimation setting.
no_animals (str) β Number of animals in the user-defined pose-estimation setting.
img_path (str) β Path to image representation of user-defined pose-estimation setting
bp_list (List[str]) β Body-parts in the user-defined pose-estimation setting.
animal_id_int_list (List[int]) β Integers representing the animal ID which the body-parts belong to.
- Examples
>>> pose_config_creator = PoseConfigCreator(pose_name="My_test_config", no_animals=2, img_path='simba/splash_050122.png', bp_list=['Ear', 'Nose', 'Left_ear', 'Ear', 'Nose', 'Left_ear'], animal_id_int_list= [1, 1, 1, 2, 2, 2]) >>> pose_config_creator.launch()
SimBA set video info UIο
- class simba.ui.video_info_ui.VideoInfoTable(config_path: Union[str, PathLike], video_dir: Optional[Union[str, PathLike]] = None, video_info_path: Optional[Union[str, PathLike]] = None)[source]ο
Bases:
ConfigReader,PopUpMixinCreate GUI that allows users to modify resolutions, fps, and pixels-per-mm interactively of videos within the SimBA project. Data is stored within the project_folder/logs/video_info.csv file in the SimBA project.
- Parameters
config_path (Union[str, os.PathLike]) β path to SimBA project config file in Configparser format
video_dir (Union[str, os.PathLike]) β Optional path to directory with video files. If None, then read from the SimBA project as dictated by project config. Default None.
video_info_path (Optional[Union[str, os.PathLike]]) β Optional path to vide_info.csv file. If None, then read from the SimBA project as dictated by project config. Default None.
- ..seealso::
- Example
>>> ui = VideoInfoTable(config_path=r"C: roubleshooting\mitra\project_folder\project_config.ini") >>> ui.run()
SimBA video timelapseο
- class simba.ui.video_timelaps.TimelapseSlider(video_path: Union[str, PathLike], frame_cnt: int = 25, crop_ratio: Optional[int] = 50, padding: int = 60, ruler_divisions: int = 6, show_ruler: bool = True, ruler_height: Optional[int] = None, ruler_width: Optional[int] = None, img_width: Optional[int] = None, img_height: Optional[int] = None, use_timestamps: bool = True)[source]ο
Bases:
objectInteractive timelapse viewer with segment selection sliders.
Creates a Tkinter GUI window displaying a timelapse composite image generated from evenly-spaced frames across a video. Includes interactive sliders to select start and end times for video segments, with visual highlighting of the selected segment and frame previews.
- Parameters
video_path (Union[str, os.PathLike]) β Path to video file to create timelapse from.
frame_cnt (int) β Number of frames to include in timelapse composite. Default 25.
ruler_width (Optional[int]) β Width per frame in pixels. If None, calculated to match video width. Default None.
crop_ratio (Optional[int]) β Percentage of frame width to keep (0-100). Default 50.
padding (int) β Padding in pixels added to timelapse when ruler is shown. Default 60.
ruler_divisions (int) β Number of major divisions on time ruler. Default 6.
show_ruler (bool) β If True, display time ruler below timelapse. Default True.
ruler_height (int) β Height of ruler in pixels. Default 60.
use_timestamps (bool) β If True, display timestamps (HH:MM:SS) in labels and ruler. If False, display frame numbers. Default True.
- Example
>>> slider = TimelapseSlider(video_path='path/to/video.mp4', frame_cnt=25, crop_ratio=75) >>> slider.run() >>> # Use sliders to select segment, then access selected times and frames: >>> start_time = slider.get_start_time() # seconds (float) >>> end_time = slider.get_end_time() # seconds (float) >>> start_time_str = slider.get_start_time_str() # "HH:MM:SS" string >>> end_time_str = slider.get_end_time_str() # "HH:MM:SS" string >>> start_frame = slider.get_start_frame() # frame number (int) >>> end_frame = slider.get_end_frame() # frame number (int) >>> slider.close()
SimBA import pose frameο
- class simba.ui.import_pose_frame.ImportPoseFrame(parent_frm: Optional[Union[Frame, Canvas, LabelFrame, Frame]] = None, config_path: Optional[Union[str, PathLike]] = None, idx_row: Optional[int] = 0, idx_column: Optional[int] = 0)[source]ο
Bases:
ConfigReader,PopUpMixin
- Parameters
parent_frm (Optional[Union[Frame, Canvas, LabelFrame, ttk.Frame]]) β Parent frame to insert the Import pose frame into. If None, one is created.
config_path (Optional[Union[str, os.PathLike]]) β
idx_row (Optional[int]) β The row in parent_frm to insert the Import pose frame into. Default: 0.
idx_column (Optional[int]) β The column in parent_frm to insert the Import pose frame into. Default: 0.
- Example
>>> _ = ImportPoseFrame(config_path='/Users/simon/Desktop/envs/simba/troubleshooting/two_black_animals_14bp/project_folder/project_config.ini') >>> _ = ImportPoseFrame(config_path=r"C: roubleshooting\simba_blob_project\project_folder\project_config.ini")
SimBA import videos frameο
- class simba.ui.import_videos_frame.ImportVideosFrame(parent_frm: Optional[Union[Frame, Canvas, LabelFrame, Frame]] = None, config_path: Optional[Union[str, PathLike]] = None, idx_row: Optional[int] = 0, idx_column: Optional[int] = 0)[source]ο
Bases:
PopUpMixin,ConfigReader
- Parameters
parent_frm (Optional[Union[Frame, Canvas, LabelFrame, ttk.Frame]]) β Parent frame to insert the Import Videos frame into. If None, one is created.
config_path (Optional[Union[str, os.PathLike]]) β
idx_row (Optional[int]) β The row in parent_frm to insert the Videos frame into. Default: 0.
idx_column (Optional[int]) β The column in parent_frm to insert the Videos frame into. Default: 0.
- Example
>>> ImportVideosFrame(config_path='/Users/simon/Desktop/envs/simba/troubleshooting/two_black_animals_14bp/project_folder/project_config.ini')
SimBA get pixels per millimeter converstion UIο
- class simba.ui.px_to_mm_ui.GetPixelsPerMillimeterInterface(video_path: Union[str, PathLike], known_metric_mm: float, line_thickness: Optional[float] = None, circle_size: Optional[float] = None)[source]ο
Bases:
objectGraphical interface to compute how many pixels represents a metric millimeter.
- Parameters
video_path (Union[str, os.PathLike]) β Path to a video file on disk.
known_metric_mm (float) β Known millimeter distance to get the pixels conversion factor for.
- Returns
The number of pixels per metric millimeter.
- Return type
- Example
>>> runner = GetPixelsPerMillimeterInterface(video_path='/Users/simon/Desktop/envs/simba/troubleshooting/two_black_animals_14bp/project_folder/videos/Together_1.avi', known_metric_mm=140) >>> runner.run() >>> runner = GetPixelsPerMillimeterInterface(video_path='/Users/simon/Desktop/blank_video.mp4', known_metric_mm=140) >>> runner.run()
SimBA pop-up UIsο
SimBA pop-up mixinο
- class simba.mixins.pop_up_mixin.PopUpMixin(title: str, config_path: Optional[str] = None, main_scrollbar: Optional[bool] = True, size: Tuple[int, int] = (960, 720), icon: Optional[str] = None)[source]ο
Bases:
objectMethods for pop-up windows in SimBA. E.g., common methods for creating pop-up windows with drop-downs, checkboxes, entry-boxes, listboxes etc.
- Parameters
title (str) β Pop-up window title
config_path (Optional[configparser.Configparser]) β path to SimBA project_config.ini. If path, the project config is read in. If None, the project config is not read in.
size (tuple) β HxW of the pop-up window. The size of the pop-up window in pixels.
main_scrollbar (bool) β If True, the pop-up window is scrollable.
- add_to_listbox_from_entrybox(list_box: Listbox, entry_box: Entry_Box)[source]ο
Add a value that populates a tkinter entry_box to a tkinter listbox.
- Parameters
list_box (Listbox) β The tkinter Listbox to add the value to.
entry_box (Entry_Box) β The tkinter Entry_Box containing the value that should be added to the list_box.
- add_value_to_listbox(list_box: Listbox, value: float)[source]ο
Add a float value to a tkinter listbox.
- Parameters
list_box (Listbox) β The tkinter Listbox to add the value to.
value (float) β Value to add to the listbox.
- add_values_to_several_listboxes(list_boxes: List[Listbox], values: List[float])[source]ο
Add N values to N listboxes. E.g., values[0] will be added to list_boxes[0].
- Parameters
list_boxes (List[Listbox]) β List of Listboxes that the values should be added to.
values (List[float]) β List of floats that will be added to the list_boxes.
- children_cnt_main() int[source]ο
Find the number of children (e.g., labelframes) currently exist within a main pop-up window. Useful for finding the row at which a new frame within the window should be inserted.
- create_cb_frame(cb_titles: List[str], main_frm: Optional[Union[Frame, Canvas, LabelFrame, Frame]] = None, frm_title: Optional[str] = '', idx_row: Optional[int] = -1, command: Optional[Callable[str, Any]] = None) Dict[str, BooleanVar][source]ο
Creates a labelframe with checkboxes and inserts the labelframe into a window.
Note
One checkbox will be created per
cb_titles. The checkboxes will be labeled according to thecb_titles. If checking/un-checking the box should have some effect, pass that function ascommandwhich takes the name of the checked/unchecked box.- Parameters
main_frm (Optional[Union[Frame, Canvas, LabelFrame, ttk.Frame]]) β The pop-up window to insert the labelframe into.
cb_titles (List[str]) β List of strings representing the names of the checkboxes.
frm_title (Optional[Callable[[str], Any]]) β Title of the frame.
idx_row (Optional[int]) β The location in main_frm to create the LabelFrame. If -1, then at the bottom.
frm_title β Optional function callable associated with checking/unchecking the checkboxes.
- Return Dict[str, BooleanVar]
Dictionary holding the
cb_titlesas keys and the BooleanVar representing if the checkbox is ticked or not.- Example
>>> PopUpMixin.create_cb_frame(cb_titles=['Attack', 'Sniffing', 'Rearing'], frm_title='My classifiers')
- create_choose_number_of_body_parts_frm(project_body_parts: List[str], run_function: object, title: str = 'SELECT NUMBER OF BODY-PARTS', dropdown_lbl: str = '# of body-parts')[source]ο
Many menus depend on how many animals the user choose to compute metrics for. Thus, we need to populate the menus dynamically. This function creates a single drop-down menu where the user select the number of animals the user choose to compute metrics for. It inserts this drop-down iat the bottom of the pop-up window, and ties this dropdown menu choice to a callback.
- create_clf_checkboxes(main_frm: Union[Frame, LabelFrame, Toplevel, Canvas], clfs: List[str], title: str = 'SELECT CLASSIFIER ANNOTATIONS')[source]ο
Creates a labelframe with one checkbox per classifier, and inserts the labelframe into the bottom of the pop-up window.
Note
Legacy. Use
create_cb_frameinstead.
- create_dropdown_frame(drop_down_titles: List[str], drop_down_options: List[str], frm_title: Optional[str] = '', idx_row: Optional[int] = -1, main_frm: Optional[Union[Frame, Canvas, LabelFrame, Frame]] = None) Dict[str, DropDownMenu][source]ο
Creates a labelframe with dropdowns.
- Parameters
main_frm (Optional[Union[Frame, Canvas, LabelFrame, ttk.Frame]]) β The pop-up window to insert the labelframe into. If None, one will be created.
drop_down_titles (List[str]) β The titles of the dropdown menus.
drop_down_options (List[str]) β The options in each dropdown. Note: All dropdowns must have the same options.
frm_title (Optional[str]) β Title of the frame.
- Return Dict[str, BooleanVar]
Dictionary holding the
drop_down_titlesas keys and the drop-down menus as values.- Example
>>> PopUpMixin.create_dropdown_frame(drop_down_titles=['Dropdown 1', 'Dropdown 2', 'Dropdown 2'], drop_down_options=['Option 1', 'Option 2'], frm_title='My dropdown frame')
- create_run_frm(run_function: Callable, title: Optional[str] = 'RUN', btn_txt_clr: Optional[str] = 'black', idx: Optional[int] = None, btn_icon_name: Optional[str] = 'rocket', padx: int = 0, pady: int = 0) None[source]ο
Create a label frame with a single button with a specified callback.
- Parameters
btn_txt_clr β The color of the text on the execute button.
idx β If not none, then the index of the main frame where to insert the RUN labelframe.
btn_icon_name β Name of the icon to use for the run button. If None, then no icon.
run_function (object) β The function/method callback of the button.
title (str) β The title of the frame.
- enable_dropdown_from_checkbox(check_box_var: BooleanVar, dropdown_menus: List[DropDownMenu])[source]ο
Given a single checkbox, enable a bunch of dropdowns if the checkbox is ticked, and disable the dropdowns if the checkbox is un-ticked.
- Parameters
check_box_var (BooleanVar) β The checkbox associated tkinter BooleanVar.
dropdown_menus (List[DropDownMenu]) β List of dropdowns which status is controlled by the
check_box_var.
- enable_entrybox_from_checkbox(check_box_var: BooleanVar, entry_boxes: List[Entry_Box], reverse: bool = False)[source]ο
Given a single checkbox, enable or disable a bunch of entry-boxes based on the status of the checkbox.
- Parameters
check_box_var (BooleanVar) β The checkbox associated tkinter BooleanVar.
entry_boxes (List[Entry_Box]) β List of entry-boxes which status is controlled by the
check_box_var.reverse (bool) β If False, the entry-boxes are enabled with the checkbox is ticked. Else, the entry-boxes are enabled if checkbox is unticked. Default: False.
- frame_children(frame: Union[Frame, Toplevel, Canvas, LabelFrame]) int[source]ο
Find the number of children (e.g., labelframes) currently exist within specified frame.Similar to
children_cnt_main, but accepts a specific frame rather than the main frame beeing hardcoded.
- place_frm_at_top_right(frm: Toplevel)[source]ο
Place a TopLevel tkinter pop-up at the top right of the monitor. Note: call before putting scrollbars or converting to Canvas.
- static place_window_at_corner(window: Toplevel, corner: typing_extensions.Literal['top_left', 'top_right', 'bottom_left', 'bottom_right'], offset_x: int = 0, offset_y: int = 0) None[source]ο
Place the window at a screen corner. Placement is deferred (via after(0, β¦)) so the window is laid out first; call right after building the window.
- Parameters
win β A tk.Toplevel or tk.Tk window.
corner β One of βtop_leftβ, βtop_rightβ, βbottom_leftβ, βbottom_rightβ.
offset_x β Pixels from the corner horizontally (positive = inward).
offset_y β Pixels from the corner vertically (positive = inward).
- remove_from_listbox(list_box: Listbox)[source]ο
Remove the current selection in a listbox from a listbox.
- Parameters
list_box (Listbox) β The listbox that the current selection should be removed from.
- update_file_select_box_from_dropdown(filename: str, fileselectbox: FileSelect)[source]ο
Updates the text inside a tkinter FileSelect entrybox with a new string.

