def _create_ui(self): if self.DEBUG: self.pp.pprint("Creating UI") self.builder = builder = pygubu.Builder() builder.add_resource_path('.') builder.add_from_file('Gui_Button_V2.ui') self.mainwindow = builder.get_object('Frame_1', self.master) self.font = font.Font(self.master, family="Times", size=20, weight="bold") builder.connect_callbacks(self) # TODO: Create a method that reloads the Setup.ini file before executing certain methods so it can be updated on the fly # TODO: Validate the Setup.ini file contents and formatting and instruct user how to fix it if necessary # TODO: Validate the chaos_items_filter.filter file contents and formatting and instruct user how to fix it if necessary # TODO: Restore the original main filter file one exit. I really am bad at handling exit callbacks # TODO: The overlay widget doesn't seem to sync with the local stash record (self.latest_stash) # self.check_filter() # This is legacy, to set the self.active_status parameter. I don't think that is needed anymore self.setup_app()
def _create_ui(self): global inp global out global outPaths global outICF global outWord self.builder = builder = pygubu.Builder() builder.add_from_file('ui.xml') self.mainwindow = builder.get_object('container', self.master) builder.connect_callbacks({'onClick': onclick}) self.set_title("") self.set_resizable() inp = builder.get_variable('inp') out = builder.get_variable('out') outPaths = builder.get_variable('outPaths') outICF = builder.get_variable('outICF') outWord = builder.get_variable('outWord')
def __init__(self, **kw): # INICIALIZANDO O OBJETO TKINTER self.root = tk.Tk() self.root.title("MODERNIZA - SOAS") self.root["bg"] = "blue" # 1 - CRIANDO O BUILDER self.builder = builder = pygubu.Builder() # 2 - LENDO O ARQUIVO UI builder.add_from_file('FRAME_LOGIN - Cópia.ui') # 3 - CARREGANDO O CAMINHO DE IMAGENS try: img_path = os.getcwd() + r"\Imagens" img_path = os.path.abspath(img_path) self.img_path = img_path builder.add_resource_path(self.img_path) except Exception as ex: print("Não há o caminho de imagens") # 4 - CRIANDO A JANELA PRINCIPAL self.mainwindow = builder.get_object('frame_login', self.root) # 5 - DEFININDO BANCO DE DADOS try: bd_path = os.getcwd() + "\\" + "Database_ModernizaSOAS" self.bd_path = bd_path builder.add_resource_path(self.bd_path) except Exception as ex: print("Não há o caminho do banco de dados") # 6 - DEFININDO TIPOS DE QUERY self.tipo_query = ["SELECT", "INSERT", "DELETE", "UPDATE", "TRUNCATE"] # 7 - API DE LOGIN NO MAR2 try: api_mar2_path = os.getcwd() + "\API" + "\\" + "Executa_Mar2.exe" self.api_mar2 = api_mar2_path builder.add_resource_path(self.api_mar2) except Exception as ex: print("Não há o caminho da API de login no Mar2") builder.connect_callbacks(self)
def show_chaos(self): """ This is all legacy. It creates and shows the overlay that has a running counter of items in each stash I did not make changes other than to comment out the error being raised if the monitor was not 1920x1080 I honestly don't know what the buttons are even for, they never show up? It uses this bizzare and obscure pygubu library. It also relies on some html file that comes with this code (or ccs? idk some web language) """ self.builder2 = pygubu.Builder() self.builder2.add_from_file('Gui_Button_V2.ui') self.top3 = tk.Toplevel(self.mainwindow) # self.top3 = tk.Toplevel(self.mainwindow) self.frame3 = self.builder2.get_object('Frame_2', self.top3) self.builder2.connect_callbacks(self) self.top3.overrideredirect(1) print(self.top3.__dict__) # I went ahead and put this at bottom center overlay_location = f'+{self.screen_res[0] // 2 - 130}+{floor(self.screen_res[1] * (1 - 80/1080))}' self.top3.geometry(overlay_location) self.top3._offsetx = 260 self.top3._offsety = 80 def clickwin(event): self.top3._offsetx = event.x self.top3._offsety = event.y def move_overlay(event): x = round(self.top3.winfo_pointerx() - self.top3._offsetx) y = round(self.top3.winfo_pointery() - self.top3._offsety) print(x, y) self.top3.geometry('+{x}+{y}'.format(x=x, y=y)) self.top3.clickwin = clickwin self.top3.move_overlay = move_overlay self.top3.bind('<Button-1>', self.top3.clickwin) self.top3.bind('<B1-Motion>', self.top3.move_overlay) if self.DEBUG: self.pp.pprint(f'Overlay Location:{overlay_location}') # if self.config['Config']['screen_res'] == '1920x1018': # self.top3.geometry('+1180+900') # elif self.config['Config']['screen_res'] == '1920x1080': # self.top3.geometry('+1180+940') # else: # Msg.showinfo(title='POE QoL', message='Wrong Resolution msg: macr0s on Discord') self.top3.attributes('-topmost', 1) self.refresh_me()
def __init__(self, master): LogWriter(self) import pygubu # pylint:disable=import-outside-toplevel self.accounts = [] self.master = master self.master.title('Auto watcher client') self.builder = builder = pygubu.Builder() self.builder.add_from_file('main_frame.ui') self.mainwindow = builder.get_object('main_frame', master) # self.master.protocol("WM_DELETE_WINDOW", self.on_closing) self.builder.connect_callbacks(self) self.init_checkboxes() self.macro = Macro(RiotConnection(), LeagueConnection())
def _create_preferences_dialog(self): self.builder = builder = pygubu.Builder(self.translator) uifile = os.path.join(FILE_PATH, "ui/preferences_dialog.ui") builder.add_from_file(uifile) top = self.master.winfo_toplevel() self.dialog = dialog = builder.get_object('preferences', top) #General for key in ('widget_set', 'widget_palette'): cbox = builder.get_object(key) cbox.configure(values=options[key]['values']) #Custom widgets self.cwtv = builder.get_object('cwtv') self.path_remove = builder.get_object('path_remove') builder.connect_callbacks(self)
def create_preview_widget(self, parent, widget_id, xmlnode): container = tk.Frame(parent, container=True, height=50) container.grid(sticky='nswe') container.rowconfigure(0, weight=1) container.columnconfigure(0, weight=1) self._top = top = tk.Toplevel(parent, use=container.winfo_id()) top.maxsize(2048, 50) top.resizable(width=True, height=False) top.update() self.builder = pygubu.Builder() self.builder.add_from_xmlnode(xmlnode) self._menu = widget = self.builder.get_object(widget_id, top) top.configure(menu=widget) self._calculate_menu_wh() return parent
def __init__(self): self.about_dialog = None self.builder = b = pygubu.Builder() b.add_from_file(os.path.join(DATA_DIR, 'myapp.ui')) b.add_resource_path(os.path.join(DATA_DIR, 'imgs')) self.mainwindow = b.get_object('mainwindow') self.mainmenu = b.get_object('mainmenu', self.mainwindow) self.btn_menu = b.get_object('btn_menu') #self.mainwindow['menu'] = menu self.canvas = b.get_object('main_canvas') # Connect to Delete event self.mainwindow.protocol("WM_DELETE_WINDOW", self.quit) b.connect_callbacks(self)
def __init__(self): #1: Create a builder self.builder = builder = pygubu.Builder() #2: Load an ui file builder.add_from_file('spyn_ui.ui') #3: Create the widget using a master as parent self.mainwindow = builder.get_object('toplevel_gui') self.mainwindow.protocol("WM_DELETE_WINDOW", self.on_close_window) callbacks = { 'on_add_device_button_clicked': on_button1_click } builder.connect_callbacks(callbacks)
def open_loading(self): self.loading_window = Toplevel(self.main_window, highlightthickness=0) self.loading_window.geometry('250x70') self.loading_window.lift() self.loading_window.focus_force() self.loading_window.grab_set() self.loading_window.overrideredirect(1) self.center(self.loading_window) self.loading_window.resizable(False, False) self.builder_loading = pygubu.Builder() self.builder_loading.add_resource_path(PROJECT_PATH) self.builder_loading.add_from_file(PROJECT_UI_LOADING) main_frame = self.builder_loading.get_object('main_frame', self.loading_window) process_window = main_frame self.builder_loading.connect_callbacks(self)
def _create_ui(self): #1: Create a builder self.builder = builder = pygubu.Builder() #2: Load an ui file builder.add_from_file('image_property.ui') #3: Set images path before creating any widget img_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', 'img') img_path = os.path.abspath(img_path) builder.add_resource_path(img_path) #4: Create the widget using self.master as parent self.mainwindow = builder.get_object('mainwindow', self.master) self.set_title('Image property')
def __init__(self, master=None): self._master = master self.builder = builder = pygubu.Builder() builder.add_from_file(filename) self.mainwindow = builder.get_object('mainwindow', master) self.ec = None self.g_point = None self.key = None self.order = None self.entry_p = self.builder.get_object('entry_p') self.entry_a = self.builder.get_object('entry_a') self.entry_b = self.builder.get_object('entry_b') self.entry_p.tk_focusFollowsMouse() builder.connect_callbacks(self)
def _create_ui(self): # 1: Create a builder self.builder = builder = pygubu.Builder() # 2: Load an ui file builder.add_from_file('interfaceFile.ui') # 3: Create the widget using self.master as parent self.mainwindow = builder.get_object('main', self.master) self.set_title("Security project of S. Fourie and W. Swarts") # Set main menu self.mainmenu = menu = builder.get_object('mainmenu', self.master) self.set_menu(menu) # init callbacks builder.connect_callbacks(self)
def _create_ui(self): """Construct and initializes all UI-related data structures.""" # step #1: Create a builder self.builder = builder = pygubu.Builder() # step #2: Load an ui file builder.add_from_file('example2.ui') # step #3: Create the mainwindow self.mainwindow = builder.get_object('MainWindow', self.master) # step #4: Set main menu self.mainmenu = menu = builder.get_object('MainMenu', self.master) self.set_menu(menu) # step $5: Configure callbacks builder.connect_callbacks(self)
def _create_ui(self): self.set_title("IBOS Comm") #1: Create a builder self.builder = builder = pygubu.Builder() #2: Load an ui file builder.add_from_file('comm.ui') #3: Create the mainwindow self.mainwindow = builder.get_object('mainwindow') builder.connect_callbacks(self) self.hijack = False self.connect()
def _create_about_dialog(self): builder = pygubu.Builder(translator) uifile = os.path.join(FILE_PATH, "ui/about_dialog.ui") builder.add_from_file(uifile) dialog = builder.get_object('aboutdialog', self.master.winfo_toplevel()) entry = builder.get_object('version') txt = entry.cget('text') txt = txt.replace('%version%', str(pygubu.__version__)) entry.configure(text=txt) def on_ok_execute(): dialog.close() builder.connect_callbacks({'on_ok_execute': on_ok_execute}) return dialog
def __init__(self, master, Formula1): self.formula1 = Formula1 #0: Cambia el título a la ventana master.title("Campeonato Formula 1") #1: Crea un constructor self.builder = builder = pygubu.Builder() img_path = os.path.abspath(os.path.dirname(os.getcwd())) builder.add_resource_path(img_path) #2: Carga un archivo con el diseño de la interfaz builder.add_from_file('campeonato.ui') #4: Crea el widget usando 'master' como padre self.mainwindow = builder.get_object('principal', master) builder.connect_callbacks(self) #5: Marca un radiobutton por defecto self.builder.get_variable("eleccion").set(1) # Carga contenido en el control de texto self.builder.get_object("salida").insert( tk.END, "Elige una opción para mostrar clasificación")
def __init__(self, master): self.builder = builder = pygubu.Builder() #1: Create a builder builder.add_from_file('gui.ui') #2: Load an ui file self.mainwindow = builder.get_object( 'parentWidget', master) #3: Create the widget using a master as parent #inventoryTree = builder.get_object('fullTree') builder.connect_callbacks(self) callbacks = { 'login': self.login, 'checkOut': self.checkOut, 'checkIn': self.checkIn, 'newItem': self.newItem, 'removeItem': self.removeItem } builder.connect_callbacks(callbacks)
def __init__(self, master=None): # 1: Create a builder self.builder = builder = pygubu.Builder() # 2: Load an ui file builder.add_from_file(PROJECT_UI) # 3: Create the mainwindow self.mainwindow = builder.get_object('mainwindow', master) # Method 1 Configure callbacks with functions callbacks = { 'on_button1_clicked': on_button1_click, 'on_button2_clicked': on_button2_click, 'on_button3_clicked': on_button3_click } builder.connect_callbacks(callbacks)
def _create_ui(self): self.builder = builder = pygubu.Builder() builder.add_from_file('window.ui') self.frame = builder.get_object('frame', self.master) self.credentials = builder.get_object('credentials', self.master) self.label_username = builder.get_object('label_username', self.master) self.text_username = builder.get_object('text_username', self.master) self.label_key = builder.get_object('label_key', self.master) self.text_key = builder.get_object('text_key', self.master) self.button_connect = builder.get_object('button_connect', self.master) self.label_message = self.wrap_dynamic( builder.get_object('label_message', self.master)) self.label_message.hide() builder.connect_callbacks(self)
def open_logger(self, name): self.log_window = Toplevel(self.main_window, highlightthickness=0) self.log_window.title(name + ' Log') self.log_window.geometry('450x140') self.log_window.iconbitmap(PROJECT_ICON) self.log_window.lift() self.log_window.focus_force() self.log_window.grab_set() self.center(self.log_window) self.log_window.resizable(False, False) self.builder_log = pygubu.Builder() self.builder_log.add_resource_path(PROJECT_PATH) self.builder_log.add_from_file(PROJECT_UI_LOG) main_frame = self.builder_log.get_object('main_frame', self.log_window) log_window = main_frame self.builder_log.connect_callbacks(self)
def __init__(self, tanks, aliases): self.builder = builder = pygubu.Builder() builder.add_from_file('GUIs/comp_window.ui') self.main_window = builder.get_object('comp_window') builder.connect_callbacks(self) listbox = builder.get_object('Listbox_2') self.tanks = tanks self.aliases = aliases listbox.bind('<<ListboxSelect>>', self.tank_pop) for k, v in enumerate(self.tanks.values()): if v.alias: listbox.insert(k + 1, v.alias) else: listbox.insert(k + 1, v.name)
def __init__(self, init_axes, crop_ui_file): # Get crop input from the Crop_vals UI form self.builder = pygubu.Builder() # load the UI file self.builder.add_from_file(crop_ui_file) # create widget using provided root (Tk) window self.mainwindow = self.builder.get_object('Crop_toplevel') self.mainwindow.protocol('WM_DELETE_WINDOW', self.on_close_window) callbacks = { 'on_button_cancel_clicked': self.on_button_cancel_clicked, 'on_button_crop_clicked': self.on_button_crop_clicked } self.builder.connect_callbacks(callbacks) self.crop_vals = [] self.init_values(init_axes)
def _create_ui(self): """Construct and initializes all UI-related data structures.""" # step #1: Create a builder self.builder = builder = pygubu.Builder() # step #2: Load an ui file builder.add_from_file('example8.ui') # step #2B: Specify path to images and other resources builder.add_resource_path(".") # step #3: Create the mainwindow self.mainwindow = builder.get_object('MainWindow', self.master) # step #4: Configure callbacks builder.connect_callbacks(self) root.bind('<Control-q>', lambda event: self.on_quit_button_click())
def __init__(self): #1: Create a builder self.builder = builder = pygubu.Builder() #self.t=time.strftime("%Y-%b-%d__%H_%M_%S",time.localtime()) #2: Load an ui file builder.add_from_file(os.path.join(MAIN_DIR, 'gui.ui')) #3: Create the widget using a master as parent self.mainwindow = builder.get_object('mainwindow') self.sweeping = False self.locking = False self.connected = False #Setup matplotlib canvas self.sweep_fig = sweep_fig = Figure(figsize=(5.5, 4), dpi=200) sweep_container = builder.get_object('Plot_Sweeper') self.sweep_canvas = sweep_canvas = FigureCanvasTkAgg( sweep_fig, master=sweep_container) sweep_canvas.show() sweep_canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1) #Setup matplotlib toolbar (optional) self.toolbar_sw = NavigationToolbar2TkAgg(sweep_canvas, sweep_container) self.toolbar_sw.update() sweep_canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1) #Setup matplotlib canvas self.pll_fig = pll_fig = Figure(figsize=(7, 5), dpi=150) pll_container = builder.get_object('Plot_PLL') self.pll_canvas = pll_canvas = FigureCanvasTkAgg(pll_fig, master=pll_container) pll_canvas.show() pll_canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1) #Setup matplotlib toolbar (optional) self.toolbar_pll = NavigationToolbar2TkAgg(pll_canvas, pll_container) self.toolbar_pll.update() pll_canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1) builder.connect_callbacks(self)
def __init__(self, loop): self.loop = loop self.builder = builder = pygubu.Builder() builder.add_from_file("fantaconvert.ui") self.main_window = builder.get_object("Toplevel") builder.connect_callbacks({ "browse_chardir": self.browse_chardir, "browse_basedir": self.browse_basedir, "convert": self.start_convert, "convert_all": self.start_convert_all, "cancel": self.cancel_convert }) logger.addHandler(LoggerWidget(builder.get_object("txt_log"))) self.char_dir = "" self.base_dir = "" self.assets_dir = path.join(os.getcwd(), "assets") self.author_info = None self.tasks = None self.load_author_info()
def show_settings_dialog(self, parent): # Load UI self.builder = pygubu.Builder() self.builder.add_from_file(self.ui_file) self.maindialog = self.builder.get_object('dialog', parent) self.builder.connect_callbacks(self) self.cmb_outputaudiodevices = self.builder.get_object( 'cmb_outputaudiodevices') self.btn_ok = self.builder.get_object('btn_ok') # Get all compatible audio devices self.cmb_outputaudiodevices['values'] = list( settings._get_compatible_audio_devices_with_indices().keys()) self.builder.get_variable('cmb_outputaudiodevices_selected').set(self.cmb_outputaudiodevices['values'][0] \ if self.settings_json is None else self.settings_json['device_name']) # First, center this dialog relative to parent and then show it as modal dialog settings._center_dialog(parent, self.maindialog) self.maindialog.run()
def setUp(self): support.root_deiconify() xmldata = """<?xml version="1.0" ?> <interface> <object class="ttk.Frame" id="mainwindow"> <property name="height">250</property> <property name="padding">10</property> <property name="width">250</property> <property name="class_">MyCustomFrame</property> <property name="relief">sunken</property> <property name="style">MyFrameStyle.TFrame</property> <property name="takefocus">1</property> <property name="cursor">cross</property> <bind add="" handler="on_button_click" sequence="<Button-1>"/> <bind add="True" handler="on_button_click2" sequence="<Button-1>"/> <layout> <property name="row">0</property> <property name="column">0</property> <property name="sticky">nesw</property> <property name="pady">10</property> <property name="padx">5</property> <property name="propagate">False</property> <property name="ipady">4</property> <property name="ipadx">2</property> <property name="rowspan">1</property> <property name="columnspan">2</property> </layout> <child> <object class="ttk.Label" id="label"> <property name="text">label</property> <layout> <property name="column">0</property> <property name="propagate">True</property> <property name="row">1</property> </layout> </object> </child> </object> </interface> """ self.builder = builder = pygubu.Builder() builder.add_from_string(xmldata) self.widget = builder.get_object('mainwindow')
def setUp(self): support.root_deiconify() xmldata = """<?xml version="1.0" ?> <interface> <object class="ttk.Frame" id="mainwindow"> <property name="height">250</property> <property name="width">250</property> <layout> <property name="column">0</property> <property name="sticky">nsew</property> <property name="propagate">True</property> <property name="row">0</property> </layout> <child> <object class="ttk.Entry" id="entry"> <property name="justify">center</property> <property name="style">MyEntryStyle.TEntry</property> <property name="textvariable">entry_var</property> <property name="validate">key</property> <property name="validatecommand">entry_validate</property> <property name="text">Hello</property> <property name="validatecommand_args">%d %P</property> <property name="invalidcommand">entry_invalid</property> <property name="invalidcommand_args">%P</property> <layout> <property name="column">0</property> <property name="propagate">True</property> <property name="row">0</property> </layout> </object> </child> </object> </interface> """ self.builder = builder = pygubu.Builder() builder.add_from_string(xmldata) self.widget = builder.get_object('entry') self.is_style_setup = False if self.is_style_setup: self.is_style_setup = True s = ttk.Style() s.configure('MyEntryStyle.TEntry', color='Blue')
def __init__(self, master): self.master = master self.builder = builder = pygubu.Builder() fpath = os.path.join(os.path.dirname(__file__), "commands.ui") builder.add_from_file(fpath) mainwindow = builder.get_object('mainwindow', master) builder.connect_callbacks(self) self.set_scrollbars() self._lstm_units = 100 self._dropout = .2 self._test_sizze = .1 self._validation = 0.15 self._epochs = 1000 self._batch_size = 50 self._desired_feature = 10 self._shuffle = True