示例#1
0
    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()
示例#2
0
 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')
示例#3
0
    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)
示例#4
0
    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()
示例#5
0
    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())
示例#6
0
    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)
示例#7
0
    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
示例#8
0
    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)
示例#9
0
    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)
示例#10
0
    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)
示例#11
0
    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')
示例#12
0
    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)
示例#13
0
    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)
示例#14
0
    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)
示例#15
0
    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()
示例#16
0
    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
示例#17
0
 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")
示例#18
0
    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)
示例#19
0
    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)
示例#20
0
    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)
示例#21
0
    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)
示例#23
0
    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)
示例#24
0
    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())
示例#25
0
文件: gui.py 项目: jifrankford/PLL
    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)
示例#26
0
 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()
示例#27
0
    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="&lt;Button-1&gt;"/>
        <bind add="True" handler="on_button_click2" sequence="&lt;Button-1&gt;"/>
        <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')
示例#29
0
    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')
示例#30
0
    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