def make_gui(self): dpg.set_main_window_size(self.width, self.height) dpg.set_theme(self.theme) with simple.window("Main", no_title_bar=True): dpg.set_main_window_title("pytasker") with simple.menu_bar("Menu"): with simple.menu("File"): dpg.add_menu_item("New Page", callback=self.new_tab) dpg.add_menu_item("Load Page", callback=self.load_page) dpg.add_menu_item("Save Page", callback=self.save_page_dialog) dpg.add_separator() dpg.add_menu_item("Quit", callback=self.exit_program) with simple.menu("Themes"): dpg.add_menu_item("Dark", callback=self.theme_callback) dpg.add_menu_item("Light", callback=self.theme_callback) dpg.add_menu_item("Classic", callback=self.theme_callback) dpg.add_menu_item("Dark 2", callback=self.theme_callback) dpg.add_menu_item("Grey", callback=self.theme_callback) dpg.add_menu_item("Dark Grey", callback=self.theme_callback) dpg.add_menu_item("Cherry", callback=self.theme_callback) dpg.add_menu_item("Purple", callback=self.theme_callback) dpg.add_menu_item("Gold", callback=self.theme_callback) dpg.add_menu_item("Red", callback=self.theme_callback) dpg.add_tab_bar(name="tab_bar_1", parent="Main") with simple.group("inittext"): dpg.add_text("Hello! Select File - New to get started")
def update_theme(theme): """Update theme. Args: theme (str): theme name """ core.set_theme(theme)
def __init__(self): self.__fontSize = 1. self.__fontSizeStep = .1 self.__fontSizeRange = (.8, 15.) core.set_global_font_scale(self.__fontSize) core.set_theme("Cherry") core.set_main_window_size(960, 540) with simple.window("MainWindow", autosize=True): core.add_text("HELLO WORLD!") core.set_mouse_wheel_callback(self.__cbMouseWheel)
def apply(self, who): theme = self.__theme.get(who, None) if theme is None: print(f"no theme: {who}") return overall = theme.get("theme", None) if overall: core.set_theme(theme=overall) # thing is what category, cmd is cmd, const == color const for v[0] # func == extend function with data... for thing, cmd, func, const in [ # ("font", "add_additional_font", False, False), ("style", "set_style_", True, False), ("color", "set_theme_item", False, True), ]: for k, v in theme.get(thing, {}).items(): meth = f"{cmd}{k}" if func else cmd try: meth = getattr(core, meth) except Exception as _: print(f"no function: {meth}") continue if const: nv = f"mvGuiCol_{k}" try: nv = getattr(core, nv) except Exception as _: print(f"no constant: {nv}") continue v = [nv] + [int(c * 255) for c in v] if isinstance(v, (list, tuple)): meth(*v) else: meth(v) self.__current = who
def _theme_callback(self, theme_str: str, data: None) -> None: """ Set application GUI theme. """ core.set_theme(theme_str)
import dearpygui.core as core import dearpygui.simple as simple from logic import listen, load_config, modal, open_url, default WINDOW = 'L0lScape Configuration' with simple.window(WINDOW): core.set_main_window_title(WINDOW) core.set_main_window_size(430, 460) core.set_theme('Purple') core.set_style_item_spacing(5, 5) core.set_style_frame_padding(5, 5) core.add_additional_font('resources/monofur.ttf', 18) core.add_dummy(width=140) core.add_same_line() core.add_image('logo', 'resources/l0lscape.png') core.add_button('About', callback=modal, width=100) core.add_same_line() core.add_button('Github', callback=open_url, width=100) core.add_same_line() core.add_button('Discord', callback=open_url, width=100) core.add_same_line() core.add_button('Help', callback=open_url, width=100) core.add_separator()
from dearpygui import core, simple from settings_window import SettingsWindow core.enable_docking() settingsWindow = SettingsWindow() core.set_main_window_title("NeuronApplication") with simple.window('MainWindow'): core.add_menu_bar("MenuBar") with simple.menu("Motyw##demo"): core.add_menu_item("Ciemny", callback=lambda sender, data: core.set_theme("Dark"), check=True) core.add_menu_item("Jasny", callback=lambda sender, data: core.set_theme("Light"), check=True) core.add_menu_item("Klasyczny", callback=lambda sender, data: core.set_theme("Classic"), check=True) core.add_menu_item("Ciemny 2", callback=lambda sender, data: core.set_theme("Dark 2"), check=True) core.add_menu_item("Szary", callback=lambda sender, data: core.set_theme("Grey"), check=True) core.add_menu_item("Ciemno-Szary", callback=lambda sender, data: core.set_theme("Dark Grey"), check=True) core.add_menu_item("Wisniowy", callback=lambda sender, data: core.set_theme("Cherry"), check=True) core.add_menu_item("Purpurowy", callback=lambda sender, data: core.set_theme("Purple"), check=True) core.add_menu_item("Zloty", callback=lambda sender, data: core.set_theme("Gold"), check=True) core.add_menu_item("Czerwony", callback=lambda sender, data: core.set_theme("Red"), check=True) with simple.menu("Pozycja"): core.add_menu_item("Zresetuj wszystko", callback=lambda sender, data: settingsWindow.reset_all()) pass with simple.menu("Ukryj"): core.add_menu_item("Okno ustawien", callback = lambda sender, data: settingsWindow.toggle_visibility()) core.add_menu_item("Wizualizacja sieci", callback = lambda sender, data: settingsWindow.betterVisualizer.toggle_visibility()) core.add_menu_item("Wczytaj plik", callback = lambda sender, data: settingsWindow.importWindow.toggle_visibility()) core.add_menu_item("Odpowiedz sieci", callback = lambda sender, data: settingsWindow.outputVisualisationWindow.toggle_visibility()) core.add_menu_item("Historia uczenia##temp2", callback = lambda sender, data: settingsWindow.historyGraphWindow.toggle_visibility())
from dearpygui import core, simple, demo from convo.view import MainView from convo import config # Create windows mm = MainView() mm.draw() # Default theme core.set_theme(config.DEFAULT_THEME) # demo.show_demo() core.set_main_window_title('Convo-Craft') core.set_main_window_size(*config.DEFAULT_WINDOW_SIZE) core.start_dearpygui()
core.add_button("Choose template file", callback=open_template_file, width=200) core.add_same_line(spacing=10) core.add_input_text( "template_file", label="", width=300, enabled=False, ) core.add_button("Choose output folder", callback=open_output_folder, width=200) core.add_same_line(spacing=10) core.add_input_text( "output_folder", label="", width=300, enabled=False, ) core.add_same_line(spacing=10) core.add_input_text("Output file", width=100, default_value="out.docx") core.add_button("Start creation", callback=start_creation) Base.metadata.create_all(engine) core.add_additional_font("OpenSans-Regular.ttf", 25) core.set_theme("Light") core.set_main_window_title("Create Document from Template") core.set_main_window_pos(0, 0) core.start_dearpygui(primary_window="Create Document from Template")
before='Login', width=200) with simple.window('Moon Overwatch Leveling Bot'): core.set_style_item_spacing(15, 15) core.set_style_frame_padding(5, 5) core.add_additional_font('Roboto-Regular.ttf', 14) core.add_image('logo', 'moon.png') core.add_separator() core.add_input_text('Account Email', default_value='*****@*****.**', width=200) core.add_input_text('Account Password', default_value='weShouldBuffBrig!69', width=200) core.add_checkbox('Multiple Accounts', default_value=False, callback=multiple_accounts) core.add_same_line() core.add_button('Login', callback=login, width=85) core.add_separator() core.set_theme('Red') core.start_dearpygui(primary_window='Moon Overwatch Leveling Bot')
def start(self): available_out_ports = mido.get_output_names() available_in_ports = mido.get_input_names() if len(available_in_ports) > 0: status.current_in_port = mido.open_input( available_in_ports[0], callback=self.get_midi_input) if len(available_out_ports) > 0: self.out_port = mido.open_output(available_out_ports[0]) core.set_main_window_size(350, 550) core.set_main_window_title('Fractal Melody Machine') core.set_theme('Gold') with simple.window('Fractal Melody Machine', width=500, height=300): core.add_text('MIDI Input Port') core.add_combo('ComboInPort', items=mido.get_input_names( ), default_value=status.current_in_port.name, label='', width=100, callback=self.change_midi_in_port) core.add_text('MIDI Output Port') core.add_combo('ComboOutPort', items=mido.get_output_names( ), default_value=self.out_port.name, label='', width=100, callback=self.change_midi_out_port) core.add_spacing(count=10) core.add_text('BPM') core.add_slider_int('SliderBPM', default_value=60, min_value=20, max_value=200, label='', width=100, callback=self.change_bpm) core.add_text('Depth') core.add_slider_int('SliderDepth', default_value=4, min_value=1, max_value=16, label='', width=100, callback=self.change_depth) core.add_same_line(spacing=45) core.add_text('DetectedKey', default_value='Detected Key: ') core.add_text('Branching Factor') core.add_slider_int('SliderBF', default_value=2, min_value=2, max_value=4, label='', width=100, callback=self.change_bf) core.add_text('Octave Spread') core.add_child('OctaveWindow', width=300, height=150) core.end() core.add_text('Figures') core.add_child('FigureWindow', width=300, height=150) core.add_table('FigureTable', [], hide_headers=True, height=10) core.add_columns('FigureTableCols', 2, border=False) core.add_checkbox(str(theory.FIGURE_WHOLE_NOTE), label='Whole note', callback=self.change_figures) core.add_checkbox(str(theory.FIGURE_QUARTER_NOTE), label='Quarter note', callback=self.change_figures, default_value=True) core.add_checkbox(str(theory.FIGURE_16TH_NOTE), label='16th note', callback=self.change_figures) core.add_checkbox(str(theory.FIGURE_64TH_NOTE), label='64th note', callback=self.change_figures) core.add_next_column() core.add_checkbox(str(theory.FIGURE_HALF_NOTE), label='Half note', callback=self.change_figures) core.add_checkbox(str(theory.FIGURE_8TH_NOTE), label='8th note', callback=self.change_figures, default_value=True) core.add_checkbox(str(theory.FIGURE_32ND_NOTE), label='32nd note', callback=self.change_figures) core.end() # Initialize octave spread sliders self.change_depth() core.start_dearpygui(primary_window='Fractal Melody Machine')
def theme_setting(sender, data): core.set_theme(data)
def main(): center_items = [] core.add_data('item_center_list', center_items) with simple.window(TITLE): with simple.menu_bar('##menu_bar'): with simple.menu('File'): # core.add_menu_item('Import', callback=None) # core.add_menu_item('Export', callback=None) with simple.menu('Theme'): themes = ['Dark', 'Light', 'Classic', 'Dark 2', 'Grey', 'Dark Grey', 'Cherry', 'Purple', 'Gold', 'Red'] for theme in themes: core.add_menu_item(theme, callback=menu.update_theme) # core.add_menu_item('Exit', callback=None) with simple.menu('About'): core.add_menu_item('Version', callback=menu.show_version) with simple.group('##input_group'): # Title input core.add_text('Title:') core.add_input_text(TITLE_ID, hint='Enter title', width=WIDGET_WIDTH) core.add_spacing(count=2) # Identifier input core.add_text('Identifier:') core.add_input_text(IDENTIFIER_ID, hint='Enter identifier', width=WIDGET_WIDTH) core.add_spacing(count=2) # Password input core.add_text('Password:'******'Enter password', width=WIDGET_WIDTH) core.add_spacing(count=2) # Note input core.add_text('Note:') core.add_input_text(NOTE_ID, hint='Enter note info', width=WIDGET_WIDTH) core.add_spacing(count=10) # Save button save_clear_spacing = 50 core.add_button('##save', label='Save', callback=input_field.save_password, width=WIDGET_HALF_WIDTH - (save_clear_spacing // 2)) core.set_item_color('##save', core.mvGuiCol_Button, color=GREEN) core.add_same_line(spacing=save_clear_spacing) # Clear input entry button core.add_button('##clear_input', label='Clear input', callback=input_field.clear_input, width=WIDGET_HALF_WIDTH - (save_clear_spacing // 2)) core.add_spacing(count=20) with simple.group('##log_group'): # Logger core.add_logger('##log_message', auto_scroll_button=False, copy_button=False, filter=False, clear_button=False, width=WIDGET_WIDTH, height=80) core.set_log_level(core.mvTRACE, logger='##log_message') core.add_spacing(count=10) # Clear log button core.add_button('##clear_log', label='Clear log', callback=logger.clear_log, width=WIDGET_WIDTH) core.add_spacing(count=10) with simple.group('##password_table_group'): # Password table header = ['No', 'Title', 'Identifier', 'Password', 'Note'] core.add_table('##password_table', header, callback=table.table_printer, height=int(WINDOW_HEIGHT * 0.45), width=WIDGET_WIDTH) core.add_spacing(count=10) table.update_password_table() # Update password table button update_delete_spacing = 20 core.add_button('##update_table', label='Update table', callback=table.update_password_table, width=WIDGET_HALF_WIDTH - (update_delete_spacing // 2)) core.set_item_color('##update_table', core.mvGuiCol_Button, color=BLUE) core.add_same_line(spacing=update_delete_spacing) # Delete password table button core.add_button('##delete_table', label='Delete table', width=WIDGET_HALF_WIDTH - (update_delete_spacing // 2)) core.set_item_color('##delete_table', core.mvGuiCol_Button, color=RED) with simple.popup('##delete_table', '##ask_delete', mousebutton=core.mvMouseButton_Left, modal=True): with simple.group('##delete_table_button_group'): delete_table_spacing = 10 delete_table_half_width = core.get_main_window_size()[1] // 5 - delete_table_spacing core.add_text('##delete_table_button', default_value='Are you sure to delete all data?') core.add_spacing(count=delete_table_spacing) core.add_button('##delete_table_button_yes', label='Yes', callback=table.delete_password_table, callback_data=True, width=delete_table_half_width) core.add_same_line(spacing=delete_table_spacing) core.add_button('##delete_table_button_no', label='No', callback=table.delete_password_table, callback_data=False, width=delete_table_half_width) # TODO WONT WORK NEED TO FIX center_item FUNCTION # center_item('##delete_table_button') # center_item('##delete_table_button_yes') # center_item('##delete_table_button_no') # center_item('##delete_table_button_group') if DEBUG_MODE: # core.show_logger() simple.show_debug() # simple.show_documentation() # Common Configuration core.set_theme(DEFAULT_THEME) core.add_additional_font(FONT, FONT_SIZE) core.set_main_window_title(TITLE) core.set_main_window_size(WINDOW_WIDTH, WINDOW_HEIGHT) core.set_main_window_resizable(RESIZABLE) core.set_style_window_padding(WINDOW_PADDING, WINDOW_PADDING) core.set_exit_callback(model.close_connection) # core.set_render_callback(apply_centering) core.start_dearpygui(primary_window=TITLE)
def theme_callback(self, sender, data): dpg.set_theme(sender)
import win32process dwmapi = ctypes.WinDLL("dwmapi") DWMWA_CLOAKED = 14 isCloacked = c_int(0) from dearpygui.core import set_main_window_size, set_global_font_scale, set_theme, set_style_window_padding, get_value, \ set_value, add_spacing, add_text, add_slider_int, add_menu_item, add_button, start_dearpygui, set_start_callback, \ mvMouseButton_Left, close_popup, set_main_window_title, add_window, end, delete_item from dearpygui.simple import set_window_pos, window, menu, popup PREF_FILE_NM = 'Auto Pots preferences.json' SCREEN_WIDTH = 640 set_main_window_size(SCREEN_WIDTH, 500) set_global_font_scale(1.5) set_theme("Gold") set_style_window_padding(30, 30) def get_active_windows(): def enum_cb(hwnd, results): if win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowText(hwnd) != '': dwmapi.DwmGetWindowAttribute(HWND(hwnd), DWORD(DWMWA_CLOAKED), ctypes.byref(isCloacked), ctypes.sizeof(isCloacked)) if (isCloacked.value == 0): results.append((hwnd, win32gui.GetWindowText(hwnd))) toplist, winlist = [], [] win32gui.EnumWindows(enum_cb, toplist) filtered_titles = [] for hwnd, title in toplist:
def set_theme(self, theme): ''' Sets the theme ''' core.set_theme(theme) self.active_theme = theme