async def main() -> None: queue = await get_queue(host) # type: Deque[Job] output = ["Currently Running Job:", str(queue.popleft()), "Other Jobs:"] # type: List[Union[str, Job]] output.extend(queue) for job in queue: print(str(job)) layout = [[sg.Text("Here are the jobs:")], [sg.Listbox(output)], [sg.CloseButton("Close")]] window = sg.Window(title="Cloud Convert Client", layout=layout) event, values = window.Read() pprint.pprint(event) pprint.pprint(values)
menu_def = [['Application', 'Settings']] layout = [[Qt.Menu(menu_def, tearoff=False, pad=(200, 1))], [ Qt.MultilineOutput(autoscroll=True, key='output', do_not_clear=False) ], [ Qt.Button('Refresh', enable_events=True, key='refresh_bttn'), Qt.Button('Inspect', enable_events=True, key='inspect_bttn', visible=False), Qt.CloseButton('Close', key='close_bttn') ]] window = Qt.Window('CoVid 19 United States Stats', layout, size=(500, 600), icon=c_icon, alpha_channel=.8, no_titlebar=True) print = window['output'].print while True: event, values = window.read(timeout=100) if not fetched: data = fetch_data()
def behavior_window_handler(behavior_type: str, select: list): listbox_unit = sg.Listbox(list(UNIT.keys()), size=LISTBOX_SIZE, key='unit', enable_events=True) widgets = [ create_frame('Unit', [listbox_unit]), create_frame('Attributes', [ sg.Listbox([], key='attrs', enable_events=True, size=LISTBOX_SIZE) ]), create_frame( 'Operations', [sg.Listbox([], key='ops', enable_events=True, size=LISTBOX_SIZE) ]), create_frame('Attribute value', [ sg.InputCombo( [""], disabled=True, key="attr_value", size=(100, 20)) ]), create_frame('Actions', [ sg.Listbox( [], key='actions', enable_events=True, size=LISTBOX_SIZE) ]), create_frame('Action value', [sg.InputText("0", disabled=True, key='action_value')]), create_frame('Action duration', [sg.InputText("0", disabled=True, key='action_duration')]) ] behavior_window = sg.Window("Add behavior", layout=[ widgets, [ sg.Button('Add', key='+_behavior', size=BUTTON_SIZE), sg.CloseButton('Close', key='Close_behavior', size=BUTTON_SIZE) ] ]) behavior_window.Finalize() while True: event, values = behavior_window.Read() if event == '+_behavior': key = all_behavior[behavior_type]['counter'] tree = all_behavior[behavior_type]['tree_data'] behavior_tree = all_behavior[behavior_type]['tree'] storage = all_behavior[behavior_type]['storage'] selected = all_behavior[behavior_type]['select'] key.increment() new_values = { k: v[0] if not isinstance(v, str) else v for k, v in values.items() if v } if select: for i in select: tree.Insert(i, str(key.count), convert_text(str(key.count), new_values), values) else: tree.Insert(select, str(key.count), convert_text(str(key.count), new_values), values) behavior_tree.Update(tree) parents = selected.Values parents.append(str(key.count)) selected.Update(values=parents, disabled=False) storage.insert(select, str(key.count), new_values) elif event == 'Close_behavior': break elif event == 'unit': vals = list(ATTRIBUTES[values['unit'][0]].keys()) widgets[1].Rows[0][0].Update(vals) elif event == 'attrs': attrs = values.get('attrs', None) if attrs: widgets[3].Rows[0][0].Update(values=ATTR_VALUES[attrs[0]], disabled=False) widgets[2].Rows[0][0].Update(list(OPERATORS[attrs[0]].keys())) widgets[4].Rows[0][0].Update(list(ACTIONS.keys())) elif event == 'actions': if values.get('actions', []): if values.get('actions', [''])[0] != 'do nothing': widgets[5].Rows[0][0].Update(disabled=False) widgets[6].Rows[0][0].Update(disabled=False) else: widgets[5].Rows[0][0].Update(disabled=True) return