Exemplo n.º 1
0
 def set_commandlist(self, list):
     oldlist = self.__commandlist
     olddict = self.__commanddict
     newlist = []
     newdict = {}
     for cmd in list:
         c = cmd.__class__
         newlist.append(c)
         newdict[c] = cmd
     if newlist != oldlist:
         # there are changes...
         # first remove old commands
         for c in oldlist:
             if not newdict.has_key(c):
                 for w in self.__widgetmap.get(c, []):
                     w.SetSensitive(0)
                     ToolTip.deltthandler(w)
         # then add new commands
         for cmd in list:
             c = cmd.__class__
             if not olddict.has_key(c):
                 for w in self.__widgetmap.get(c, []):
                     w.SetSensitive(1)
                     if cmd.help:
                         ToolTip.addtthandler(w, cmd.help)
     # reassign callbacks for accelerators
     for c in oldlist:
         for key in self.__accelmap.get(c, []):
             del self._accelerators[key]
     for cmd in list:
         for key in self.__accelmap.get(cmd.__class__, []):
             self._accelerators[key] = cmd.callback
     self.__commandlist = newlist
     self.__commanddict = newdict
Exemplo n.º 2
0
 def _cancel(self, w, client_data, call_data):
     ToolTip.rmtt()
     if self.is_closed():
         return
     self.close()
     if client_data:
         apply(apply, client_data)
         toplevel.setready()
Exemplo n.º 3
0
 def _callback(self, widget, callback, call_data):
     ToolTip.rmtt()
     if not self._main:
         return
     if callback:
         apply(apply, callback)
     if self._grab:
         self.close()
     toplevel.setready()
Exemplo n.º 4
0
 def __init__(self):         # Initializer method
     # Create instance
     self.win = tk.Tk()   
     
     tt.create_ToolTip(self.win, 'Hello GUI')
     
     # Add a title       
     self.win.title("Python GUI")      
     self.create_widgets()
Exemplo n.º 5
0
 def _ok(self, w, client_data, call_data):
     ToolTip.rmtt()
     if self.is_closed():
         return
     value = call_data.value
     self.close()
     if client_data:
         client_data(value)
         toplevel.setready()
Exemplo n.º 6
0
 def __init__(self):         # Initializer method
     # Create instance
     self.win = tk.Tk()   
     
     tt.create_ToolTip(self.win, 'Hello GUI')
     
     # Add a title       
     self.win.title("Python GUI")      
     self.create_widgets()
     self.defaultFileEntries()
     self.guiQueue = Queue()
Exemplo n.º 7
0
 def __callback(self, widget, callback, call_data):
     ToolTip.rmtt()
     if type(callback) is ClassType:
         callback = self.__commanddict.get(callback)
         if callback is not None:
             callback = callback.callback
     label = self.__togglelables.get(widget)
     if label is not None:
         widget.labelString = label[widget.ToggleButtonGetState()]
     if callback is not None:
         apply(apply, callback)
         toplevel.setready()
Exemplo n.º 8
0
    def __init__(self):  # Initializer method
        # Create instance
        self.win = tk.Tk()

        tt.create_ToolTip(self.win, 'Hello GUI')

        # Start TCP/IP server in its own thread
        svrT = Thread(target=startServer, daemon=True)
        svrT.start()

        # Add a title
        self.win.title("Python GUI")
        self.create_widgets()
        self.defaultFileEntries()
        self.guiQueue = Queue()
Exemplo n.º 9
0
 def _cancel_callback(self, *rest):
     ToolTip.rmtt()
     if self.is_closed():
         return
     must_close = TRUE
     try:
         if self.cb_cancel:
             ret = self.cb_cancel()
             if ret:
                 if type(ret) is StringType:
                     showmessage(ret, parent=self)
                 must_close = FALSE
                 return
     finally:
         if must_close:
             self.close()
         toplevel.setready()
Exemplo n.º 10
0
 def _set_callback(self, widget, callbacktype, callback):
     if callbacktype:
         widget.AddCallback(callbacktype, self.__callback,
                            callback)
     if type(callback) is ClassType:
         if not self.__widgetmap.has_key(callback):
             self.__widgetmap[callback] = []
         self.__widgetmap[callback].append(widget)
         widget.AddCallback('destroyCallback', self.__remove, None)
         if self.__commanddict.has_key(callback):
             # Currently enabled. Add a tooltip
             widget.SetSensitive(1)
             if callback.help:
                 ToolTip.addtthandler(widget,
                                      callback.help)
         else:
             # Currently disabled.
             widget.SetSensitive(0)
Exemplo n.º 11
0
def CreateToolTip(widget, text):
    toolTip = ToolTip(widget)

    def enter(event):
        toolTip.showtip(text)

    def leave(event):
        toolTip.hidetip()
    widget.bind('<Enter>', enter)
    widget.bind('<Leave>', leave)
Exemplo n.º 12
0
                 fg=text_color,
                 font=(font_type, txt_dim),
                 highlightbackground='#2c3e50',
                 relief='flat',
                 background='#2c3e50',
                 activebackground='#76608a')
w.grid(row=0, rowspan=3, columnspan=3, sticky='W' + 'E' + 'S' + 'N')
Annotate.grid(row=4, column=1, sticky='EW')
Predict.grid(row=3, column=1, sticky='EW')
Prioritize.grid(row=3, column=2, sticky='WE')
Quit.grid(row=4, column=2, sticky='WE')
Rerun.grid(row=5, column=1, sticky='EW')
Kill.grid(row=5, column=2, sticky='WE')

ToolTip.ToolTip(
    Predict,
    follow_mouse=1,
    text="eDiVa Varitant Prediction pipeline for sample-wise variant calling.")
ToolTip.ToolTip(
    Prioritize,
    follow_mouse=1,
    text="eDiVa Varitant filtering and ranking pipeline for trios-families.")
ToolTip.ToolTip(Annotate,
                follow_mouse=1,
                text="eDiVa Annotation for VCF files.")
ToolTip.ToolTip(
    Rerun,
    follow_mouse=1,
    text="Rerun a previously defined pipeline with new computing parameters.")
ToolTip.ToolTip(Kill,
                follow_mouse=1,
                text="Kill multiple jobs depending on a single pipeline.")
Exemplo n.º 13
0
        mixer.music.set_volume(0)
        mbut.config(image=mphoto)
        sca.set(0)
        muted=True   

def help(widget, position):
    import time
    return "The time is " + time.asctime()

    
middleframe=Frame(rframe) 
middleframe.pack(pady=30)
pphoto=PhotoImage(file="images/2.png")
pbtn=ttk.Button(middleframe,image=pphoto,command=play_m)       #button
pbtn.grid(row=0,column=0,padx=10)
ToolTip.register(pbtn, "Play the music")
#ToolTip.register(pbtn, help)
sphoto=PhotoImage(file="images/3.png")
sbtn=ttk.Button(middleframe,image=sphoto,command=play_s)
sbtn.grid(row=0,column=1,padx=10)
ToolTip.register(sbtn, "Stop the music")
#ToolTip.register(sbtn, help)
pauphoto=PhotoImage(file="images/4.png")
pb=ttk.Button(middleframe,image=pauphoto,command=paubut)
pb.grid(row=0,column=2,padx=10)
ToolTip.register(pb, "Pause the music")
#ToolTip.register(pb, help)
bframe=Frame(rframe)
bframe.pack(pady=30)
rephoto=PhotoImage(file="images/7.png")
pb1=ttk.Button(bframe,image=rephoto,command=r_music)
    def createWidgets(self):
        # Tab Control introduced here --------------------------------------
        tabControl = ttk.Notebook(self.win)  # Create Tab Control

        tab1 = ttk.Frame(tabControl)  # Create a tab
        #         tabControl.add(tab1, text='MySQL')    # Add the tab -- COMMENTED OUT FOR CH08

        tab2 = ttk.Frame(tabControl)  # Add a second tab
        tabControl.add(tab2, text='Widgets')  # Make second tab visible

        tabControl.pack(expand=1, fill="both")  # Pack to make visible
        # ~ Tab Control introduced here -----------------------------------------

        # We are creating a container frame to hold all other widgets
        self.mySQL = ttk.LabelFrame(tab1, text=' Python Database ')
        self.mySQL.grid(column=0, row=0, padx=8, pady=4)

        # Creating a Label
        ttk.Label(self.mySQL, text="Book Title:").grid(column=0,
                                                       row=0,
                                                       sticky='W')

        # Adding a Textbox Entry widget
        book = tk.StringVar()
        self.bookTitle = ttk.Entry(self.mySQL, width=34, textvariable=book)
        self.bookTitle.grid(column=0, row=1, sticky='W')

        # Adding a Textbox Entry widget
        book1 = tk.StringVar()
        self.bookTitle1 = ttk.Entry(self.mySQL, width=34, textvariable=book1)
        self.bookTitle1.grid(column=0, row=2, sticky='W')

        # Adding a Textbox Entry widget
        book2 = tk.StringVar()
        self.bookTitle2 = ttk.Entry(self.mySQL, width=34, textvariable=book2)
        self.bookTitle2.grid(column=0, row=3, sticky='W')

        # Creating a Label
        ttk.Label(self.mySQL, text="Page:").grid(column=1, row=0, sticky='W')

        # Adding a Textbox Entry widget
        page = tk.StringVar()
        self.pageNumber = ttk.Entry(self.mySQL, width=6, textvariable=page)
        self.pageNumber.grid(column=1, row=1, sticky='W')

        # Adding a Textbox Entry widget
        page = tk.StringVar()
        self.pageNumber1 = ttk.Entry(self.mySQL, width=6, textvariable=page)
        self.pageNumber1.grid(column=1, row=2, sticky='W')

        # Adding a Textbox Entry widget
        page = tk.StringVar()
        self.pageNumber2 = ttk.Entry(self.mySQL, width=6, textvariable=page)
        self.pageNumber2.grid(column=1, row=3, sticky='W')

        # Adding a Button
        self.action = ttk.Button(self.mySQL,
                                 text="Insert Quote",
                                 command=self.insertQuote)
        self.action.grid(column=2, row=1)

        # Adding a Button
        self.action1 = ttk.Button(self.mySQL,
                                  text="Get Quotes",
                                  command=self.getQuote)
        self.action1.grid(column=2, row=2)

        # Adding a Button
        self.action2 = ttk.Button(self.mySQL,
                                  text="Mody Quote",
                                  command=self.modifyQuote)
        self.action2.grid(column=2, row=3)

        # Add some space around each widget
        for child in self.mySQL.winfo_children():
            child.grid_configure(padx=2, pady=4)

        quoteFrame = ttk.LabelFrame(tab1, text=' Book Quotation ')
        quoteFrame.grid(column=0, row=1, padx=8, pady=4)

        # Using a scrolled Text control
        quoteW = 40
        quoteH = 30
        self.quote = scrolledtext.ScrolledText(quoteFrame,
                                               width=quoteW,
                                               height=quoteH,
                                               wrap=tk.WORD)
        self.quote.grid(column=0, row=8, sticky='WE', columnspan=3)

        # Add some space around each widget
        for child in quoteFrame.winfo_children():
            child.grid_configure(padx=2, pady=4)

        # ======================================================================================================
        # Tab Control 2
        # ======================================================================================================
        # We are creating a container frame to hold all other widgets -- Tab2
        self.widgetFrame = ttk.LabelFrame(tab2, text=self.i18n.WIDGET_LABEL)
        self.widgetFrame.grid(column=0, row=0, padx=8, pady=4)

        # Creating three checkbuttons
        self.chVarDis = tk.IntVar()
        self.check1 = tk.Checkbutton(self.widgetFrame,
                                     text=self.i18n.disabled,
                                     variable=self.chVarDis,
                                     state='disabled')
        self.check1.select()
        self.check1.grid(column=0, row=0, sticky=tk.W)

        self.chVarUn = tk.IntVar()
        self.check2 = tk.Checkbutton(self.widgetFrame,
                                     text=self.i18n.unChecked,
                                     variable=self.chVarUn)
        self.check2.deselect()
        self.check2.grid(column=1, row=0, sticky=tk.W)

        self.chVarEn = tk.IntVar()
        self.check3 = tk.Checkbutton(self.widgetFrame,
                                     text=self.i18n.toggle,
                                     variable=self.chVarEn)
        self.check3.deselect()
        self.check3.grid(column=2, row=0, sticky=tk.W)

        # trace the state of the two checkbuttons
        self.chVarUn.trace(
            'w', lambda unused0, unused1, unused2: self.checkCallback())
        self.chVarEn.trace(
            'w', lambda unused0, unused1, unused2: self.checkCallback())

        # Radiobutton list
        colors = self.i18n.colors

        self.radVar = tk.IntVar()

        # Selecting a non-existing index value for radVar
        self.radVar.set(99)

        # Creating all three Radiobutton widgets within one loop
        for col in range(3):
            curRad = 'rad' + str(col)
            curRad = tk.Radiobutton(self.widgetFrame,
                                    text=colors[col],
                                    variable=self.radVar,
                                    value=col,
                                    command=self.radCall)
            curRad.grid(column=col, row=6, sticky=tk.W, columnspan=3)
            # And now adding tooltips
            tt.create_ToolTip(curRad, 'This is a Radiobutton control.')

        # Create a container to hold labels
        labelsFrame = ttk.LabelFrame(self.widgetFrame,
                                     text=self.i18n.labelsFrame)
        labelsFrame.grid(column=0, row=7, pady=6)

        # Place labels into the container element - vertically
        ttk.Label(labelsFrame, text=self.i18n.chooseNumber).grid(column=0,
                                                                 row=0)
        self.lbl2 = tk.StringVar()
        self.lbl2.set(self.i18n.label2)
        ttk.Label(labelsFrame, textvariable=self.lbl2).grid(column=0, row=1)

        # Add some space around each label
        for child in labelsFrame.winfo_children():
            child.grid_configure(padx=6, pady=1)

        number = tk.StringVar()
        self.combo = ttk.Combobox(self.widgetFrame,
                                  width=12,
                                  textvariable=number)
        self.combo['values'] = (1, 2, 4, 42, 100)
        self.combo.grid(column=1, row=7, sticky=tk.W)
        self.combo.current(0)
        self.combo.bind('<<ComboboxSelected>>', self.callBacks._combo)

        # Adding a Spinbox widget using a set of values
        self.spin = Spinbox(self.widgetFrame,
                            values=(1, 2, 4, 42, 100),
                            width=5,
                            bd=8,
                            command=self._spin)
        self.spin.grid(column=2, row=7, sticky='W,', padx=6, pady=1)

        # Using a scrolled Text control
        scrolW = 40
        scrolH = 30
        self.scr = scrolledtext.ScrolledText(self.widgetFrame,
                                             width=scrolW,
                                             height=scrolH,
                                             wrap=tk.WORD)
        self.scr.grid(column=0, row=8, sticky='WE', columnspan=3)

        # Adding a TZ Button
        self.allTZs = ttk.Button(self.widgetFrame,
                                 text=self.i18n.timeZones,
                                 command=self.allTimeZones)
        self.allTZs.grid(column=0, row=9, sticky='WE')

        # Adding local TZ Button
        self.localTZ = ttk.Button(self.widgetFrame,
                                  text=self.i18n.localZone,
                                  command=self.localZone)
        self.localTZ.grid(column=1, row=9, sticky='WE')

        # Adding getTime TZ Button
        self.dt = ttk.Button(
            self.widgetFrame,
            #                              text='Time',
            text=self.i18n.getTime,
            command=self.getDateTime)
        self.dt.grid(column=2, row=9, sticky='WE')

        # Create Manage Files Frame ------------------------------------------------
        mngFilesFrame = ttk.LabelFrame(tab2, text=self.i18n.mgrFiles)
        mngFilesFrame.grid(column=0, row=1, sticky='WE', padx=10, pady=5)

        # Button Callback
        def getFileName():
            print('hello from getFileName')
            fDir = path.dirname(__file__)
            fName = fd.askopenfilename(parent=self.win, initialdir=fDir)
            print(fName)
            self.fileEntry.config(state='enabled')
            self.fileEntry.delete(0, tk.END)
            self.fileEntry.insert(0, fName)

            if len(fName) > self.entryLen:
                self.fileEntry.config(width=len(fName) + 3)

        # Add Widgets to Manage Files Frame
        lb = ttk.Button(mngFilesFrame,
                        text=self.i18n.browseTo,
                        command=getFileName)
        lb.grid(column=0, row=0, sticky=tk.W)

        # -----------------------------------------------------
        file = tk.StringVar()
        self.entryLen = scrolW - 4
        self.fileEntry = ttk.Entry(mngFilesFrame,
                                   width=self.entryLen,
                                   textvariable=file)
        self.fileEntry.grid(column=1, row=0, sticky=tk.W)

        # -----------------------------------------------------
        logDir = tk.StringVar()
        self.netwEntry = ttk.Entry(mngFilesFrame,
                                   width=self.entryLen,
                                   textvariable=logDir)
        self.netwEntry.grid(column=1, row=1, sticky=tk.W)

        def copyFile():
            import shutil
            src = self.fileEntry.get()
            file = src.split('/')[-1]
            dst = self.netwEntry.get() + '\\' + file
            try:
                shutil.copy(src, dst)
                mBox.showinfo('Copy File to Network', 'Succes: File copied.')
            except FileNotFoundError as err:
                mBox.showerror('Copy File to Network',
                               '*** Failed to copy file! ***\n\n' + str(err))
            except Exception as ex:
                mBox.showerror('Copy File to Network',
                               '*** Failed to copy file! ***\n\n' + str(ex))

        cb = ttk.Button(mngFilesFrame, text=self.i18n.copyTo, command=copyFile)
        cb.grid(column=0, row=1, sticky=tk.E)

        # Add some space around each label
        for child in mngFilesFrame.winfo_children():
            child.grid_configure(padx=6, pady=6)

            # Creating a Menu Bar ==========================================================
        menuBar = Menu(tab1)
        self.win.config(menu=menuBar)

        # Add menu items
        fileMenu = Menu(menuBar, tearoff=0)
        fileMenu.add_command(label=self.i18n.new)
        fileMenu.add_separator()
        fileMenu.add_command(label=self.i18n.exit, command=self._quit)
        menuBar.add_cascade(label=self.i18n.file, menu=fileMenu)

        # Add another Menu to the Menu Bar and an item
        helpMenu = Menu(menuBar, tearoff=0)
        helpMenu.add_command(label=self.i18n.about)
        menuBar.add_cascade(label=self.i18n.help, menu=helpMenu)

        # Change the main windows icon
        self.win.iconbitmap('pyc.ico')

        # Using tkinter Variable Classes
        strData = tk.StringVar()
        strData.set('Hello StringVar')

        # It is not necessary to create a tk.StringVar()
        strData = tk.StringVar()
        strData = self.spin.get()

        # Place cursor into name Entry
        self.bookTitle.focus()

        # Add a Tooltip to the Spinbox
        tt.create_ToolTip(self.spin, 'This is a Spin control.')

        # Add Tooltips to more widgets
        tt.create_ToolTip(self.bookTitle, 'This is an Entry control.')
        tt.create_ToolTip(self.action, 'This is a Button control.')
        tt.create_ToolTip(self.scr, 'This is a ScrolledText control.')
Exemplo n.º 15
0
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.valor_negrito = tk.IntVar()
        self.valor_italico = tk.IntVar()
        self.valor_sublinhado = tk.IntVar()
        self.radio_link_var = tk.IntVar()
        self.radio_csv_var = tk.IntVar()
        self.radio_google_var = tk.IntVar()
        self.radio_dv_var = tk.IntVar()
        self.radio_form_var = tk.IntVar()
        self.pack()
        self.google_chrome = self.busca_google_chrome()

        # cria os componentes da janela
        # estilos

        style = ttk.Style()
        style.configure('TFrame', foreground="black", background='gray')
        style.configure('TNotebook', foreground="black", background='gray', font='Helvetica 11 bold', borderwidth=0)
        style.configure('TNotebook.Tab', background='#6a6a6a', borderwidth=1)
        style.map('TNotebook.Tab', background=[('selected', 'gray'), ('active', '#606060')],
                  foreground=[('selected', 'black'), ('active', '#bababa')])
        style.configure('Title.TLabel', foreground="black", background="gray", padding=1, font='Helvetica 11 bold')
        style.configure('BG.TLabel', foreground="black", background="gray", padding=1)
        style.configure('BW.TButton', foreground='#bfbfbf', background='black', highlightbackground='black',
                        width=46, font='Helvetica 11')
        style.configure('BG.TCheckbutton', selectcolor='#818181', foreground="black", background="gray",
                        bd=1, width=7, anchor='w')
        style.configure('Combo.TCombobox', foreground="black", background="gray", bordercolor='black')
        style_button = {'width': 38, 'bg': '#31363b', 'fg': 'white', 'font': 'Helvetica 10',
                        'highlightbackground': 'black', 'cursor': 'hand2'}
        style_entry = {'bg': '#33425c', 'fg': 'orange', 'width': 45, 'font': 'Arial 10'}
        style_radio = {'foreground': 'black', 'background': 'gray', 'indicatoron': 0, 'bd': 1, 'relief': tk.FLAT,
                       'font': 'Arial 10'}

        self.configure(bg='gray')

        # tabs
        self.tab_frame = tk.Frame(self.master, bg='gray')
        self.tab_frame.pack()
        self.tabControl = ttk.Notebook(self.tab_frame, style='TNotebook')  # Create Tab Control
        self.tab1 = ttk.Frame(self.tabControl, style='TFrame')  # Create a tab
        self.tabControl.add(self.tab1, text='e-Processo')  # Add the tab
        self.tab1a = ttk.Frame(self.tabControl, style='TFrame')  # Create a tab
        self.tabControl.add(self.tab1a, text='Arquivos')  # Add the tab
        self.tab2 = ttk.Frame(self.tabControl, style='TFrame')  # Add a second tab
        self.tabControl.add(self.tab2, text='Outros')  # Make second tab visible
        self.tabControl.pack()  # Pack to make visible
        # self.tabControl.pack(expand=1, fill="both")  # Pack to make visible

        # widgets
        # tab 1
        # formata texto
        ttk.Label(self.tab1, text='Formata texto para nota', style='Title.TLabel').pack(pady=3)
        self.frame_formato = tk.Frame(self.tab1, width=35, bg='gray')
        self.frame_formato.pack()
        # ttk.Label(self.tab1, text='Estilo:', style='BG.TLabel').grid(row=1, column=0, sticky='w', padx=2)
        self.check_negrito = ttk.Checkbutton(self.frame_formato, text='Negrito', variable=self.valor_negrito,
                                             style='BG.TCheckbutton')
        self.check_negrito.grid(row=0, column=0)
        self.valor_negrito.set('1')
        self.check_italico = ttk.Checkbutton(self.frame_formato, text='Itálico', variable=self.valor_italico,
                                             style='BG.TCheckbutton')
        self.check_italico.grid(row=0, column=1)
        self.check_sublinhado = ttk.Checkbutton(self.frame_formato, text='Sublin.', variable=self.valor_sublinhado,
                                                style='BG.TCheckbutton')
        self.check_sublinhado.grid(row=0, column=2)
        # ttk.Label(self.frame_formato, text='Cor:', style='BG.TLabel').grid(row=0, column=3, sticky='e')
        self.combo_color = ttk.Combobox(self.frame_formato, values=['Preto', 'Azul', 'Verde', 'Vermelho'],
                                        style='Combo.TCombobox',
                                        exportselection=0, width=8)
        self.combo_color.grid(row=0, column=3, pady=3)
        self.combo_color.set('Preto')
        self.texto_nota = tk.Text(self.frame_formato, width=45, height=5, bg='#33425c', fg='orange', font='Arial 10',
                                  wrap=tk.WORD)  # bg original ='#125487'
        self.texto_nota.grid(row=1, columnspan=4, padx=3)
        self.texto_nota.insert(
            tk.INSERT, 'Insira o texto da Nota aqui.')
        self.texto_nota.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.bt_gera_nota = tk.Button(self.tab1, style_button, text='Gera nota formatada',
                                      command=self.formata_texto_nota)
        self.bt_gera_nota.pack()
        tt.ToolTip(self.bt_gera_nota, 'Gera nota com o texto acima formatado conforme as seleções de estilo e cor')
        ttk.Separator(self.tab1, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Inclui link
        ttk.Label(self.tab1, text='Inclui link em nota', style='Title.TLabel').pack(pady=3)
        self.frame_link = tk.Frame(self.tab1, width=35, bg='gray')
        self.frame_link.pack()
        self.radio_link_processo = tk.Radiobutton(self.frame_link, style_radio, text="Processo",
                                                  variable=self.radio_link_var,
                                                  value=1, width=17)
        self.radio_link_processo.grid(row=0, column=0, padx=3, pady=3, sticky='we')
        tt.ToolTip(self.radio_link_processo, 'Gera nota com link para processo.')
        self.radio_link_url = tk.Radiobutton(self.frame_link, style_radio, text='URL', variable=self.radio_link_var,
                                             value=2, width=17)
        self.radio_link_url.grid(row=0, column=1, padx=3, pady=3, sticky='we')
        self.radio_link_processo.select()
        tt.ToolTip(self.radio_link_url, 'Gera nota com link para url (http://...)')

        self.entry_link = tk.Entry(self.tab1, style_entry)
        self.entry_link.pack()
        # self.entry_link.insert(0, 'http://receita.economia.gov.br/')
        self.entry_link.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.bt_gera_link = tk.Button(self.tab1, style_button, text='Gera link para nota', command=self.link)
        self.bt_gera_link.pack()
        tt.ToolTip(self.bt_gera_link, 'Gera nota com link para o processo ou a url indicado acima')
        ttk.Separator(self.tab1, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Transpõe processos
        ttk.Label(self.tab1, text='Transpõe processos copiados na memória',
                  style='Title.TLabel').pack(pady=3)
        self.bt_transp_procs = tk.Button(self.tab1, style_button, text='Gera relação transposta',
                                         command=self.transpoe_clipboard)
        self.bt_transp_procs.pack()
        tt.ToolTip(self.bt_transp_procs, f'Transpõe a relação de processos copiados na memória para ser colada'
                                         f' no e-Processo')
        ttk.Separator(self.tab1, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Abre funcionalidades
        ttk.Label(self.tab1, text='Abre funções / processos', style='Title.TLabel').pack(pady=3)
        self.bt_abre_cx_trab = tk.Button(self.tab1, style_button, text='Abre e-Processo',
                                         command=self.abre_e_processo)
        self.bt_abre_cx_trab.pack()
        tt.ToolTip(self.bt_abre_cx_trab, 'Abre a tela de login para o e-Processo')

        self.bt_abre_cx_trab_antiga = tk.Button(self.tab1, style_button, text='Abre Caixa de Trabalho',
                                                command=self.abre_caixa_trabalho)
        self.bt_abre_cx_trab_antiga.pack()
        tt.ToolTip(self.bt_abre_cx_trab_antiga, 'Abre a caixa de trabalho de equipe no e-Processo')

        self.bt_abre_ger = tk.Button(self.tab1, style_button, text='Abre Gerencial de Estoque',
                                     command=self.abre_gerencial_estoque)
        self.bt_abre_ger.pack()
        tt.ToolTip(self.bt_abre_ger, 'Abre o gerencial de estoque de processos do e-Processo')

        self.bt_abre_consulta = tk.Button(self.tab1, style_button, text='Abre Consulta',
                                          command=self.abre_consulta)
        self.bt_abre_consulta.pack()
        tt.ToolTip(self.bt_abre_consulta, 'Abre a consulta de processos do e-Processo')

        self.bt_abre_procs = tk.Button(self.tab1, style_button, text='Abre processos copiados na área de transferência',
                                       command=self.abre_processos)
        self.bt_abre_procs.pack()
        tt.ToolTip(self.bt_abre_procs, 'Abre os processos os copiados na memória no e-Processo')

        self.bt_abre_palavras_chave = tk.Button(self.tab1, style_button, text='Abre palavras-chave dos processos copiados',
                                       command=self.abre_palavras_chave)
        self.bt_abre_palavras_chave.pack()
        tt.ToolTip(self.bt_abre_palavras_chave, 'Abre palavras-chave dos processos copiados na memória')
        ttk.Separator(self.tab1, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Text de saida
        self.texto_saida = tk.Text(self.master, width=45, height=8, bg='#33425c', fg='orange', font='Courier 9',
                                   wrap=tk.WORD)
        self.texto_saida.pack(pady=5)
        # self.texto_saida.grid(row=26, columnspan=4, padx=10, pady=5, sticky=tk.EW)
        # self.texto_saida.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.texto_nota.focus()

        # tab1a
        # Limpa csv
        ttk.Label(self.tab1a, text='Limpa arquivo .csv', style='Title.TLabel').pack(pady=3)
        self.frame_csv = tk.Frame(self.tab1a, width=48, bg='gray')
        self.frame_csv.pack()
        self.radio_csv_virgula = tk.Radiobutton(self.frame_csv, style_radio, text='Separador = ","',
                                                variable=self.radio_csv_var,
                                                value=1, width=17)
        self.radio_csv_virgula.grid(row=1, column=0, padx=4, pady=3, sticky='we')
        tt.ToolTip(self.radio_csv_virgula, 'Usa vírgula como separador de colunas')
        self.radio_csv_pontovirgula = tk.Radiobutton(self.frame_csv, style_radio, text='Separador = ";"',
                                                     variable=self.radio_csv_var, value=2, width=17)
        self.radio_csv_pontovirgula.grid(row=1, column=1, padx=4, pady=3, sticky='we')
        tt.ToolTip(self.radio_csv_pontovirgula, 'Usa ponto e vírgula como separador de colunas')
        self.radio_csv_virgula.select()
        self.run_cvs = tk.Button(self.tab1a, style_button, text='Selecionar o arquivo e executar',
                                 command=self.roda_csv)
        self.run_cvs.pack()
        tt.ToolTip(self.run_cvs, 'Processa a remoção de caracteres inválidos no arquivo .csv selecionado')
        ttk.Separator(self.tab1a, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Backup
        ttk.Label(self.tab1a, text='Backup de dirétório para .zip', style='Title.TLabel').pack(pady=3)
        self.run_bk = tk.Button(self.tab1a, style_button, text='Selecionar o diretório e executar',
                                command=self.roda_bk)
        self.run_bk.pack()
        tt.ToolTip(self.run_bk, 'Faz o backup de todo o conteúdo de um diretório para um arquivo .zip')
        ttk.Separator(self.tab1a, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Concatena pdf
        ttk.Label(self.tab1a, text='Concatenação de arquivos .pdf', style='Title.TLabel').pack(pady=3)
        self.run_pdf = tk.Button(self.tab1a, style_button, text='Selecionar o diretório e executar',
                                command=self.roda_pdf)
        self.run_pdf.pack()
        tt.ToolTip(self.run_pdf, 'Concatena os arquivos pdf de um diretório em um único arquivo.')
        ttk.Separator(self.tab1a, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # tab2
        # Google
        ttk.Label(self.tab2, text='Google', style='Title.TLabel').pack(pady=3)
        self.frame_google = tk.Frame(self.tab2, width=48, bg='gray')
        self.frame_google.pack()
        self.radio_google_rfb = tk.Radiobutton(self.frame_google, style_radio, text="Google RFB",
                                               variable=self.radio_google_var,
                                               value=1, width=17)
        self.radio_google_rfb.grid(row=1, column=0, padx=4, pady=3, sticky='we')
        tt.ToolTip(self.radio_google_rfb, 'Pesquisa termo no site da RFB usando o Google')
        self.radio_map_it = tk.Radiobutton(self.frame_google, style_radio, text='Maps', variable=self.radio_google_var,
                                           value=2, width=17)
        self.radio_map_it.grid(row=1, column=1, padx=4, pady=3, sticky='we')
        tt.ToolTip(self.radio_map_it, 'Pesquisa enderenço no Google Maps')
        self.entry_gm = tk.Entry(self.tab2, style_entry)
        self.entry_gm.pack()
        self.entry_gm.bind('<Return>', self.roda_google)
        self.radio_google_rfb.select()
        self.run_gm = tk.Button(self.tab2, style_button, text='Pesquisa', command=self.roda_google)
        self.run_gm.pack()
        tt.ToolTip(self.run_gm, 'Aciona a consulta do termo ou endereço para a opção selecionada (Google RFB ou Maps)')
        ttk.Separator(self.tab2, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Calcula DV
        ttk.Label(self.tab2, text='Cálculo de dígitos verificadores',
                  style='Title.TLabel').pack(pady=3)
        self.frame_dv = tk.Frame(self.tab2, width=48, bg='gray')
        self.frame_dv.pack()
        self.radio_cpf = tk.Radiobutton(self.frame_dv, style_radio, text="Cpf", variable=self.radio_dv_var, value=1,
                                        width=8)
        self.radio_cpf.grid(row=0, column=0, padx=3, sticky='we', pady=2)
        self.radio_cnpj = tk.Radiobutton(self.frame_dv, style_radio, text="Cnpj", variable=self.radio_dv_var, value=2,
                                         width=8)
        self.radio_cnpj.grid(row=0, column=1, padx=3, sticky='we', pady=2)
        self.radio_proc_novo = tk.Radiobutton(self.frame_dv, style_radio, text="Proc. /0000",
                                              variable=self.radio_dv_var,
                                              value=3, width=8)
        self.radio_proc_novo.grid(row=0, column=2, padx=3, sticky='we', pady=2)
        self.radio_proc_antigo = tk.Radiobutton(self.frame_dv, style_radio, text="Proc. /00",
                                                variable=self.radio_dv_var,
                                                value=4, width=8)
        self.radio_proc_antigo.grid(row=0, column=3, padx=3, sticky='we', pady=2)
        self.radio_cpf.select()
        self.entry_dv = tk.Entry(self.tab2, style_entry)
        self.entry_dv.pack()
        self.entry_dv.bind('<Return>', self.calc_dv)
        self.entry_dv.bind('<KP_Enter>', self.calc_dv)
        self.run_dv = tk.Button(self.tab2, style_button, text='Calcula', command=self.calc_dv)
        self.run_dv.pack()
        tt.ToolTip(self.run_dv, 'Calcula ou valida os DV de CPF, CNPJ ou Processo (com ano de 4 e 2 dígitos).')
        ttk.Separator(self.tab2, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        # Formata Texto
        ttk.Label(self.tab2, text='Formata texto',
                  style='Title.TLabel').pack(pady=3)
        self.frame_form = tk.Frame(self.tab2, width=48, bg='gray')
        self.frame_form.pack()
        self.radio_maiusculo = tk.Radiobutton(self.frame_form, style_radio, text="XXXX", variable=self.radio_form_var,
                                              value=1, width=8)
        self.radio_maiusculo.grid(row=0, column=0, padx=3, sticky='we', pady=2)
        self.radio_minusculo = tk.Radiobutton(self.frame_form, style_radio, text="xxxx", variable=self.radio_form_var,
                                              value=2, width=8)
        self.radio_minusculo.grid(row=0, column=1, padx=3, sticky='we', pady=2)
        self.radio_title = tk.Radiobutton(self.frame_form, style_radio, text="Xxxx", variable=self.radio_form_var,
                                          value=3, width=8)
        self.radio_title.grid(row=0, column=2, padx=3, sticky='we', pady=2)
        self.radio_inverso = tk.Radiobutton(self.frame_form, style_radio, text="X<>x", variable=self.radio_form_var,
                                            value=4, width=8)
        self.radio_inverso.grid(row=0, column=3, padx=3, sticky='we', pady=2)
        self.radio_maiusculo.select()
        self.entry_form = tk.Entry(self.tab2, style_entry)
        self.entry_form.pack()
        self.entry_form.bind('<Return>', self.formata_txt)
        self.entry_form.bind('<KP_Enter>', self.formata_txt)
        self.run_dv = tk.Button(self.tab2, style_button, text='Formata', command=self.formata_txt)
        self.run_dv.pack()
        tt.ToolTip(self.run_dv, 'Formata o texto em maiúsculas, minúsculas, nome próprio ou caixa invertida.')
        ttk.Separator(self.tab2, orient=tk.HORIZONTAL).pack(fill=tk.X, padx=8, pady=3)

        self.define_raiz()
Exemplo n.º 16
0
    def createWidgets(self):

        tabControl= ttk.Notebook(self.win)

        tab1=ttk.Frame(tabControl)
        tabControl.add(tab1, text='Tab 1')

        tab2 = ttk.Frame(tabControl)
        tabControl.add(tab2, text='Tab 2')

        tab3 = ttk.Frame(tabControl)
        tabControl.add(tab3, text='Tab 3')

        tabControl.pack(expand=1, fill='both')

        tab3=tk.Frame(tab3,bg='blue')
        tab3.pack()
        for orangeColor in range(2):
            canvas = tk.Canvas(tab3, width=150,height=80,highlightthickness=0,bg='orange')
            canvas.grid(row=orangeColor,column=orangeColor)

        # create container to hold all widgets
        self.monty = ttk.LabelFrame(tab1,text=' Monty Python ')
        self.monty.grid(column=0,row=0,padx=8,pady=4)

        self.monty2 = ttk.LabelFrame(tab2,text=' The Snake ')
        self.monty2.grid(column=0,row=0,padx=8,pady=4)

        #Label
        ttk.Label(self.monty,text="Enter a name:").grid(column=0,row=0,sticky='W')

        #add a text box widget
        name = tk.StringVar()
        self.nameEntered = ttk.Entry(self.monty, width=12, textvariable=name)
        self.nameEntered.grid(column=0,row=1,sticky=tk.W)
        tt.createToolTip(self.nameEntered, 'This is an entry control')

        # combo box and label
        ttk.Label(self.monty, text='Choose a number:').grid(column=1, row=0)
        number = tk.StringVar()
        numberChosen = ttk.Combobox(self.monty, width=12, textvariable=number, state='readonly')
        numberChosen['values'] = (1,2,4,42,100)
        numberChosen.grid(column=1, row=1)
        numberChosen.current(0)

        # add a button
        action = ttk.Button(self.monty, text="Click Me!", command=self.clickMe)
        action.grid(column=2, row=1)
        #action.configure(state='disabled')

        #add check boxes
        chVarDis = tk.IntVar()
        check1 = tk.Checkbutton(self.monty2, text='Disabled',variable=chVarDis, state='disabled')
        check1.select()
        check1.grid(column=0,row=4, sticky=tk.W)

        chVarUn = tk.IntVar()
        check2 = tk.Checkbutton(self.monty2, text='UnChecked',variable=chVarUn)
        check2.deselect()
        check2.grid(column=1,row=4,sticky=tk.W)

        chVarEn = tk.IntVar()
        check3 = tk.Checkbutton(self.monty2, text='Enabled',variable=chVarEn)
        check3.select()
        check3.grid(column=2,row=4,sticky=tk.W)

        # Radiobutton list
        colors = ["Blue", "Gold", "Red"]

        #create three radio buttons
        self.radVar=tk.IntVar()
        self.radVar.set(99)
        for col in range(3):
            curRad = 'rad' + str(col)
            curRad = tk.Radiobutton(self.monty2, text=colors[col], variable=self.radVar, value = col, command=self.radCall)
            curRad.grid(column=col, row=5, sticky=tk.W)


        #add a spinbox
        self.spin = Spinbox(self.monty,from_=0,to=10,width=5,bd=8, command=self._spin)
        self.spin.grid(column=0,row=2)

        # add a tooltip
        tt.createToolTip(self.spin,'This is a Spin control.')

        spin2 = Spinbox(self.monty, values=(0,50,100),width=5,bd=10,command=self._spin,relief=tk.RIDGE)
        spin2.grid(column=1,row=2)

        # add scrolled text widget
        scrolW= 50
        scrolH = 3
        self.scr = scrolledtext.ScrolledText(self.monty, width=scrolW, height=scrolH, wrap=tk.WORD)
        self.scr.grid(column=0, sticky='WE',columnspan=3)
        #scr.grid(column=0, columnspan=3)
        tt.createToolTip(self.scr,'This is a ScrolledText widget.')

        # container to hold labels
        labelsFrame = ttk.LabelFrame(self.monty, text=' Labels in a Frame ')
        labelsFrame.grid(column=0,row=7,padx=20,pady=40)

        # place labels into the container
        ttk.Label(labelsFrame,text='Label1').grid(column=0,row=0)
        ttk.Label(labelsFrame,text='Label2').grid(column=0,row=1)
        ttk.Label(labelsFrame,text='Label3').grid(column=0,row=2)

        for child in labelsFrame.winfo_children():
            child.grid_configure(padx=8,pady=4)

        # menu commands
        def _quit(self):
            self.win.quit()
            self.win.destroy()
            exit()

        #create menubar
        menuBar=Menu(self.win)
        self.win.config(menu=menuBar)

        # add menu items
        fileMenu = Menu(menuBar, tearoff=0)
        fileMenu.add_command(label='New')
        fileMenu.add_separator()
        fileMenu.add_command(label='Exit', command=_quit)
        menuBar.add_cascade(label='File',menu=fileMenu)



        helpMenu = Menu(menuBar,tearoff=0)
        helpMenu.add_command(label='About',command=self._msgBox)
        menuBar.add_cascade(label='Help',menu=helpMenu)
Exemplo n.º 17
0
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.valor_negrito = tk.IntVar()
        self.valor_italico = tk.IntVar()
        self.valor_sublinhado = tk.IntVar()
        self.pack()

        # cria os componentes da janela
        # estilos
        style = ttk.Style()
        style.configure('Title.TLabel', foreground="black", background="gray", padding=1, font='Helvetica 11 bold')
        style.configure('BG.TLabel', foreground="black", background="gray", padding=1)
        style.configure('BW.TButton', foreground='#bfbfbf', background='black', highlightbackground='black',
                       width=51, font='Helvetica 11')
        style.configure('BG.TCheckbutton', selectcolor='#818181', foreground="black", background="gray"
                        , bd=2, width=10, anchor='w')
        style.configure('Combo.TCombobox', foreground="black", background="gray", bordercolor='black')
        style_button = {'width': 45, 'bg': '#31363b', 'fg': 'white', 'font': 'Helvetica 10',
                        'highlightbackground': 'black', 'cursor': 'hand2'}
        style_entry = {'bg': '#33425c', 'fg': 'orange', 'width': 55, 'font': 'Arial 10'}

        self.configure(bg='gray')

        # widgets
        # formata texto
        ttk.Label(self, text='Formata texto para nota', style='Title.TLabel').grid(row=0, column=0, columnspan=6)
        ttk.Label(self, text='Estilo:', style='BG.TLabel').grid(row=1, column=0, sticky='w')
        self.check_negrito = ttk.Checkbutton(self, text='Negrito', variable=self.valor_negrito, style='BG.TCheckbutton')
        self.check_negrito.grid(row=1, column=1)
        self.valor_negrito.set('1')
        self.check_italico = ttk.Checkbutton(self, text='Itálico', variable=self.valor_italico, style='BG.TCheckbutton')
        self.check_italico.grid(row=1, column=2)
        self.check_sublinhado = ttk.Checkbutton(self, text='Sublinhado', variable=self.valor_sublinhado,
                                                style='BG.TCheckbutton')
        self.check_sublinhado.grid(row=1, column=3)
        ttk.Label(self, text='Cor:', style='BG.TLabel').grid(row=2, column=1, sticky='e')
        self.combo_color = ttk.Combobox(self, values=['Normal', 'Azul', 'Verde','Vermelho' ], style='Combo.TCombobox',
                                        exportselection=0, width=10)
        self.combo_color.grid(row=2, column=2)
        self.combo_color.set('Normal')
        self.texto_nota = tk.Text(self, width=55, height=5, bg='#33425c', fg='orange', font='Arial 10',
                                  wrap=tk.WORD) #bg original ='#125487'
        self.texto_nota.grid(row=3, columnspan=6)
        self.texto_nota.insert(
            tk.INSERT,'Solicitação formalizada indevidamente via e-Cac por meio de dossiê de Restituição de AFRMM.')
        self.texto_nota.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.bt_gera_nota = tk.Button(self, style_button, text='Gera nota formatada', command=self.formata_texto_nota)
        self.bt_gera_nota.grid(row=4, column=0, columnspan=6)
        tt.ToolTip(self.bt_gera_nota, 'Gera nota com o texto acima formatado conforme as seleções de estilo e cor')
        ttk.Separator(self, orient=tk.HORIZONTAL).grid(row=5, columnspan=6, padx=10, pady=5, sticky=tk.EW)

        # Inclui url
        ttk.Label(self, text='Inclui link (url) em nota', style='Title.TLabel').grid(row=6, column=0, columnspan=6)
        ttk.Label(self, text='Link:', style='BG.TLabel').grid(row=7, column=0, sticky='w')
        self.entry_link = tk.Entry(self, style_entry)
        self.entry_link.grid(row=8, columnspan=6)
        self.entry_link.insert(0, 'http://receita.economia.gov.br/')
        self.entry_link.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.bt_gera_link = tk.Button(self, style_button ,text='Gera link para url', command=self.link_url)
        self.bt_gera_link.grid(row=9, column=0, columnspan=6)
        tt.ToolTip(self.bt_gera_link, 'Gera nota com link para a url indicada no campo acima')
        ttk.Separator(self, orient=tk.HORIZONTAL).grid(row=10, columnspan=6, padx=10, pady=5, sticky=tk.EW)

        # Inclui link para processo
        self.label_titulo_3 = ttk.Label(self, text='Inclui link para outro processo em nota',
                                        style='Title.TLabel').grid(row=11, columnspan=6)
        ttk.Label(self, text='Processo:', style='BG.TLabel').grid(row=12, column=0, sticky='w')
        self.entry_processo = tk.Entry(self, style_entry)
        self.entry_processo.grid(row=13, columnspan=6)
        self.entry_processo.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.bt_gera_link_proc = tk.Button(self, style_button , text='Gera link para outro processo',
                                           command=self.link_processo)
        self.bt_gera_link_proc.grid(row=14, column=0, columnspan=6)
        tt.ToolTip(self.bt_gera_link_proc, 'Gera nota com link para o processo indicado no campo acima')
        ttk.Separator(self, orient=tk.HORIZONTAL).grid(row=15, columnspan=6, padx=10, pady=5, sticky=tk.EW)

        # Transpõe processos
        ttk.Label(self, text='Transpõe relação de processos copiados na memória',
                                        style='Title.TLabel').grid(row=16, columnspan=6)
        self.bt_transp_procs = tk.Button(self, style_button , text='Gera relação transposta',
                                         command=self.transpoe_clipboard)
        self.bt_transp_procs.grid(row=17, column=0, columnspan=6)
        tt.ToolTip(self.bt_transp_procs, f'Transpõe a relação de processos copiados na memória para ser colada'
                                         f' no e-Processo')
        ttk.Separator(self, orient=tk.HORIZONTAL).grid(row=18, columnspan=6, padx=10, pady=5, sticky=tk.EW)

        # Abre funcionalidades
        ttk.Label(self, text='Abre funções / processos',style='Title.TLabel').grid(row=19, columnspan=6)
        self.bt_abre_cx_trab = tk.Button(self, style_button ,text='Abre e-Processo',
                                         command=self.abre_e_processo)
        self.bt_abre_cx_trab.grid(row=20, column=0, columnspan=6)
        tt.ToolTip(self.bt_abre_cx_trab, 'Abre a tela de login para o e-Processo')

        self.bt_abre_cx_trab_antiga = tk.Button(self, style_button ,text='Abre Caixa de Trabalho',
                                         command=self.abre_caixa_trabalho)
        self.bt_abre_cx_trab_antiga.grid(row=21, column=0, columnspan=6)
        tt.ToolTip(self.bt_abre_cx_trab_antiga, 'Abre a caixa de trabalho de equipe no e-Processo')

        self.bt_abre_ger = tk.Button(self, style_button, text='Abre Gerencial de Estoque',
                  command=self.abre_gerencial_estoque)
        self.bt_abre_ger.grid(row=22, column=0, columnspan=6)
        tt.ToolTip(self.bt_abre_ger, 'Abre o gerencial de estoque de processos do e-Processo')

        self.bt_abre_consulta = tk.Button(self, style_button, text='Abre Consulta',
                  command=self.abre_consulta)
        self.bt_abre_consulta.grid(row=23, column=0, columnspan=6)
        tt.ToolTip(self.bt_abre_consulta, 'Abre a consulta de processos do e-Processo')

        self.bt_abre_procs = tk.Button(self, style_button, text='Abre processos da área de transferência (clipboard)',
                  command=self.abre_processos)
        self.bt_abre_procs.grid(row=24, column=0, columnspan=6)
        tt.ToolTip(self.bt_abre_procs, 'Abre os processos os copiados na memória no e-Processo')
        ttk.Separator(self, orient=tk.HORIZONTAL).grid(row=25, columnspan=6, padx=10, pady=5, sticky=tk.EW)

        # Text de sáida - parent = raiz
        self.texto_saida = tk.Text(self.master, width=55, height=8,  bg='#33425c', fg='orange', font='Courier 9',
                                   wrap=tk.WORD)
        self.texto_saida.pack()
        self.texto_saida.bind('<Escape>', self.exit)  # com um Esc encera o programa
        self.texto_nota.focus()
        self.define_raiz()
Exemplo n.º 18
0
    def createWidgets(self):
       tabControl= ttk.Notebook(self.window)
       tab1= ttk.Frame(tabControl)
       tabControl.add(tab1,text='Tab 1')
       tabControl.pack(expand=1, fill ="both")

       tab2= ttk.Frame(tabControl)
       tabControl.add(tab2, text= 'Tab 2')
       tabControl.pack(expand=1, fill ="both")

       tab3=tk.Frame(tabControl, bg = 'blue')
       tabControl.add(tab3,text='Tab 3')
       tabControl.pack(expand=1, fill ="both")
      
       for orangeColor in range(2):
           self.canvas = tk.Canvas(tab3, width =160, height =80, highlightthickness =0, bg = 'orange')
           self.canvas.grid(row=orangeColor, column= orangeColor)
       
   
     #Adding label frames
       self.enterbox = ttk.LabelFrame(tab1, text = 'Enter Box')
       self.enterbox.grid(column=0, row=0, padx=8, pady=4)

    # Adding a label
       ttk.Label(self.enterbox, text = "Enter the input").grid(column=0, row=0)
       ttk.Label(self.enterbox, text = "choose from below").grid (column=1,row=0)

    #Adding a textbox
       self.input = tk.StringVar()
       self.inputEntered = ttk.Entry(self.enterbox, width=12, textvariable = self.input)
       self.inputEntered.grid(column =0, row=1)
       self.inputEntered.focus()

    #Adding drop-down box
       self.number=tk.StringVar();
       self.numberChosen = ttk.Combobox(self.enterbox, width=12, textvariable =self.number)
       self.numberChosen['values'] = (1,2,3, 5.5, 100.7)
       self.numberChosen.grid(column = 1, row =1)
       self.numberChosen.current(0)

       
#Adding a button
       self.action = ttk.Button(self.enterbox, text = "Send", command = self._clickButton)
       self.action.grid(column=2, row=1)
       
       tt.createToolTip(self.action,'This is a Send Button')
       
#Adding label frames
       self.checkbox = ttk.LabelFrame(tab2, text = 'Check Box')
       self.checkbox.grid(column=0, row=0, padx=8, pady=4)
       
#Adding checkbutton
       self.chVarDis = tk.IntVar()
       self.check1 = tk.Checkbutton (self.checkbox, text = "Disabled", variable = self.chVarDis, state = 'disabled')
       self.check1.select()
       self.check1.grid(column =0, row=4, sticky = tk.W)

       self.chVarUn = tk.IntVar()
       self.check2 =tk.Checkbutton(self.checkbox, text = "UnChecked", variable = self.chVarUn)
       self.check2.deselect()
       self.check2.grid(column=1, row=4, sticky = tk.W)

       self.chVarEn = tk.IntVar()
       self.check3 = tk.Checkbutton(self.checkbox, text = "Enabled", variable = self.chVarEn)
       self.check3.select()
       self.check3.grid(column=2, row=4, sticky =tk.W)
       
#Adding label frame
       self.labelsFrame = ttk.LabelFrame(tab2, text = "Labels Frame ")
       self.labelsFrame.grid(column=0, row=7, padx=8, pady=4)

       ttk.Label(self.labelsFrame, text= "Label1").grid(column=0, row=0)
       ttk.Label(self.labelsFrame, text= "Label2").grid(column=1, row=0)
       ttk.Label(self.labelsFrame, text= "Label3").grid(column=2, row=0)
       ttk.Label(self.labelsFrame, text= "Label4").grid(column=0, row=1)

       for self.child in self.labelsFrame.winfo_children():
           self.child.grid_configure(padx=5, pady=5)
           
#Adding scrolled Text 
       scrolW = 30
       scrolH = 3
       self.scr = scrolledtext. ScrolledText(self.enterbox, width= scrolW, height=scrolH, wrap = tk.WORD)
       self.scr.grid(column=0, row =3, sticky = 'WE', columnspan =3)

       tt.createToolTip(self.scr,'This is a ScrolledText widget')     


#Adding spinbox,action atrributed in createWidgets
       self.spin = Spinbox(self.enterbox, from_=0, to=10, width=5, command=self._spin)
       self.spin.grid(column=0, row=2)

       self.spin1 = Spinbox(self.enterbox, values = (1,2,5,8,10),width=5,bd=8)
       self.spin1.grid(column=1, row=2)
    
#Add a Tooltip to the Spinbox
       tt.createToolTip(self.spin,'This is a Spin Contorl')
       tt.createToolTip(self.spin1,'This is a Spin Contorl')
       

#Radiobutton Definition
       self.colors = ["Blue", "Gold", "Red"]
    
#Adding Radiobuttons
       self.radVar = tk.IntVar()
       
       self.radVar.set(99)  #set the default value outside the range of options

       for col in range(3) :
           self.radcol = 'rad' + str(col)
           self.radcol = tk.Radiobutton (self.checkbox, text = self.colors[col], variable = self.radVar, value
                          = col, command = self.radCall)
           self.radcol.grid(column= col, row =5, sticky = tk.W)  

#Adding Menu bar     
       self.menuBar = Menu (self.window)
       self.window.config(menu = self.menuBar)
       self.fileMenu = Menu(self.menuBar,tearoff = 0)  
       self.fileMenu.add_command(label="New")
       self.fileMenu.add_separator()
       self.fileMenu.add_command(label="Exit", command=self._quit)
       self.menuBar.add_cascade(label = "File", menu=self.fileMenu)

#Display a Message Box

    
       self.helpMenu = Menu(self.menuBar,tearoff = 0)
       self.helpMenu.add_command(label = "About",command=self._msgBox)
       self.menuBar.add_cascade (label = "Help", menu=self.helpMenu)
Exemplo n.º 19
0
 def __init__(self, master=None):
     super().__init__(master)
     self.folder = ''
     self.master = master
     self.icon = tk.PhotoImage(file='./image/Folder-icon.png')
     self.pack()
     self.configure(bg='gray')
     '''cria os componentes da janela'''
     tk.Label(self, text='Arquivo:', bg='gray', fg='black').grid(row=0,
                                                                 column=0,
                                                                 sticky='e')
     self.entry_dir = tk.Entry(self, bg='#33425c', fg='orange', width=45)
     self.entry_dir.grid(row=0, column=1, columnspan=2)
     # self.entry_dir.insert(0, os.getcwd())
     self.button_dir = tk.Button(self,
                                 text='>',
                                 bg='#31363b',
                                 fg='white',
                                 image=self.icon,
                                 command=self.define_arquivo,
                                 pady=2)
     self.button_dir.grid(row=0, column=3, sticky='e')
     # com um Esc encera o programa
     self.button_dir.bind('<Escape>', self._exit)
     # com um Esc encera o programa
     self.entry_dir.bind('<Escape>', self._exit)
     self.button_dir.focus()
     tt.ToolTip(self.button_dir, 'Clique para selecionar o arquivo csv')
     tk.Label(self, text='Separador:', bg='gray',
              fg='black').grid(row=1,
                               column=0,
                               columnspan=2,
                               sticky='e',
                               padx=5)
     # tk.Label(self, text='Final de linha:', bg='gray', fg='black').grid(
     #     row=2, column=0, columnspan=2, sticky='e', padx=5)
     self.separador = ttk.Combobox(self,
                                   values=[';', ','],
                                   state="readonly",
                                   width=5)
     self.separador.current(0)
     self.separador.grid(row=1, column=2, columnspan=2, sticky='w')
     tt.ToolTip(self.separador, 'Selecione o separador')
     # self.final_linha = ttk.Combobox(
     #     self, values=['Linux/Mac', 'Windows'], state="readonly", width=10)
     # self.final_linha.current(1)
     # self.final_linha.grid(row=2, column=2, columnspan=2, sticky='w')
     # tt.ToolTip(self.final_linha,
     #            'Selecione a configuração de final de linha')
     # fora do Frame
     self.executa = tk.Button(self.master,
                              text='Executar',
                              anchor='n',
                              bg='#31363b',
                              fg='white',
                              command=self.testa_e_executa)
     self.executa.pack(pady=5)
     tt.ToolTip(
         self.executa,
         'Gera o arquivo alterado e salva com o sufixo "...tratado.csv"')
     self.define_raiz()
Exemplo n.º 20
0
TcpFrame.grid(sticky='nw', row=0, column=0, columnspan=4)

# Onglet Unhide
OptionFrame = Labelframe(ProcessFrame, text='Options', relief=RIDGE)
OptionFrame.grid(sticky='nw', row=0, column=0)

OptIdx = 0
OptionBut = []
for opt in OptionList:
    # print(OptIdx, ' - ', opt)
    tempo = StringVar()
    OptCB = Checkbutton(OptionFrame,
                        text=opt[1],
                        variable=tempo,
                        command=lambda OptIdx=OptIdx: CheckOpt(OptIdx))
    OptCBTT = ToolTip(OptCB, msg=opt[2], follow=1, delay=ttDelay)

    OptionBut.append([OptCB, tempo, OptCBTT])
    del tempo
    del OptCB
    del OptCBTT
    OptionBut[OptIdx][VARB].set(0)
    OptionBut[OptIdx][CHKB].grid(sticky='w', row=OptIdx, column=0)
    OptIdx += 1

CTestFrame = Labelframe(ProcessFrame, text='Compound Tests', relief=RIDGE)
CTestFrame.grid(sticky='nw', row=0, column=1)

CTestIdx = 0
CTestBut = []
for ctest in StandardTestsList:
Exemplo n.º 21
0
import sys
from PyQt5.QtWidgets import QApplication

from ToolTip import *

if __name__ == '__main__':
    a = QApplication(sys.argv)

    minform = ToolTip()
    minform.show()
a.exec_()
Exemplo n.º 22
0
 def __init__(self):
     import splashimg, imgconvert
     global _dialog_widget
     fg = windowinterface.toplevel._convert_color((0, 0, 0), 0)
     bg = windowinterface.toplevel._convert_color((0x99, 0x99, 0x99), 0)
     visual = windowinterface.toplevel._visual
     w = windowinterface.toplevel._main.CreateFormDialog(
         'license', {
             'autoUnmanage': 0,
             'foreground': fg,
             'background': bg,
             'visual': visual,
             'depth': visual.depth,
             'colormap': windowinterface.toplevel._colormap,
             'horizontalSpacing': 10,
             'verticalSpacing': 10
         })
     w.Parent().AddWMProtocolCallback(
         windowinterface.toplevel._delete_window, self.__callback,
         (self.cb_quit, ()))
     fmt = windowinterface.toplevel._imgformat
     rdr = imgconvert.stackreader(fmt, splashimg.reader())
     self.__imgsize = rdr.width, rdr.height
     xim = visual.CreateImage(visual.depth, X.ZPixmap, 0, rdr.read(),
                              rdr.width, rdr.height, fmt.descr['align'], 0)
     xim.byte_order = windowinterface.toplevel._byteorder
     img = w.CreateDrawingArea(
         'splash',
         {
             'width': rdr.width,
             'height': rdr.height,
             ##                        'foreground': fg, 'background': bg,
             'topAttachment': Xmd.ATTACH_FORM,
             'leftAttachment': Xmd.ATTACH_FORM,
             'rightAttachment': Xmd.ATTACH_FORM
         })
     img.AddCallback('exposeCallback', self.__expose,
                     (xim, rdr.width, rdr.height))
     sep = w.CreateSeparator(
         'separator', {
             'leftAttachment': Xmd.ATTACH_FORM,
             'rightAttachment': Xmd.ATTACH_FORM,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': img,
             'orientation': Xmd.HORIZONTAL
         })
     tryb = w.CreatePushButton(
         'try', {
             'labelString': 'Try',
             'foreground': fg,
             'background': bg,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': sep,
             'leftAttachment': Xmd.ATTACH_FORM
         })
     tryb.AddCallback('activateCallback', self.__callback,
                      (self.cb_try, ()))
     ToolTip.addtthandler(tryb, 'Try out his software')
     self.__try = tryb
     eval = w.CreatePushButton(
         'eval', {
             'labelString': 'Get Evaluation License...',
             'foreground': fg,
             'background': bg,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': sep,
             'leftAttachment': Xmd.ATTACH_WIDGET,
             'leftWidget': tryb
         })
     eval.AddCallback('activateCallback', self.__callback,
                      (self.cb_eval, ()))
     ToolTip.addtthandler(
         eval, 'Direct web browser to web site to get evaluation key')
     self.__eval = eval
     buy = w.CreatePushButton(
         'buy', {
             'labelString': 'Buy now...',
             'foreground': fg,
             'background': bg,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': sep,
             'leftAttachment': Xmd.ATTACH_WIDGET,
             'leftWidget': eval
         })
     buy.AddCallback('activateCallback', self.__callback, (self.cb_buy, ()))
     ToolTip.addtthandler(buy,
                          'Direct web browser to web site to buy a copy')
     key = w.CreatePushButton(
         'key', {
             'labelString': 'Enter key...',
             'foreground': fg,
             'background': bg,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': sep,
             'leftAttachment': Xmd.ATTACH_WIDGET,
             'leftWidget': buy
         })
     key.AddCallback('activateCallback', self.__callback,
                     (self.cb_enterkey, ()))
     ToolTip.addtthandler(key, 'Enter a license key')
     self.__key = key
     quit = w.CreatePushButton(
         'quit', {
             'labelString': 'Quit',
             'foreground': fg,
             'background': bg,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': tryb,
             'leftAttachment': Xmd.ATTACH_FORM,
             'bottomAttachment': Xmd.ATTACH_FORM
         })
     quit.AddCallback('activateCallback', self.__callback,
                      (self.cb_quit, ()))
     ToolTip.addtthandler(quit, 'Exit the program')
     label = w.CreateLabel(
         'label', {
             'labelString':
             'Or see http://www.oratrix.com/ for more information',
             'foreground': fg,
             'background': bg,
             'topAttachment': Xmd.ATTACH_WIDGET,
             'topWidget': eval,
             'leftAttachment': Xmd.ATTACH_WIDGET,
             'leftWidget': quit,
             'rightAttachment': Xmd.ATTACH_FORM,
             'bottomAttachment': Xmd.ATTACH_FORM
         })
     label.ManageChild()
     self.__gc = None
     self.__img = img
     self.__msg = None
     self.__window = w
     _dialog_widget = w
     img.ManageChild()
     sep.ManageChild()
     tryb.ManageChild()
     eval.ManageChild()
     buy.ManageChild()
     key.ManageChild()
     quit.ManageChild()
Exemplo n.º 23
0
    def create_widgets(self):
        '''
        Long method to create all widgets on the root window
        '''

        # Creating a Menu Bar

        menu_bar = Menu(root)
        root.config(menu=menu_bar)
        menu_bar.config(background = background, foreground = text_color)
        # Code for the cascading File menu
        file_menu = Menu(menu_bar, tearoff=0)
        file_menu.add_command(label='New   Ctrl+n', command=self._new)
        file_menu.add_separator()
        file_menu.add_command(label='Save  Ctrl+s', command=self._save)
        file_menu.add_separator()
        file_menu.add_command(label='Quit  Ctrl+q', command=self._quit)
        file_menu.configure(background = background, foreground = text_color)
        menu_bar.add_cascade(label='File', menu=file_menu)

        # Code for cascading config menu

        config_menu = Menu(menu_bar, tearoff=0)
        config_menu.add_command(label='Set Default Save Path', command=DefaultPath)
        config_menu.add_separator()
        config_menu.add_command(label='Use Bullet Points (' + use_bp + ')', command=SetBulletPoints)
        config_menu.add_separator()
        config_menu.add_command(label='Format Filename (' + fn_format + ')', command=FilenameFormat)
        config_menu.configure(background = background, foreground = text_color)
        config_menu.add_separator()
        config_menu.add_command(label='Use Dark Mode (' + dark_mode + ')', command=UseDarkMode)
        config_menu.configure(background = background, foreground = text_color)
        menu_bar.add_cascade(label='Config', menu=config_menu)

        # Code for the cascading Help menu
        help_menu = Menu(menu_bar, tearoff=0)
        help_menu.add_command(label='Program Help  Ctrl+h', command=HelpWindow)
        help_menu.add_separator()
        help_menu.add_command(label='About', command=AboutWindow)
        help_menu.configure(background = background, foreground = text_color)
        menu_bar.add_cascade(label='Help', menu=help_menu)

        # Top frame for the recipe name entry
        nameLabel = ttk.Label(foreground=label_text, background=label_bg, text=' Enter Recipe Title')
        self.title_frame = ttk.LabelFrame(self.frame, labelwidget=nameLabel)
        self.title_frame.grid(column=0, row=0, columnspan=2, padx=8, pady=4, sticky='W')

        # Left frame for the ingredients list
        ingLabel = ttk.Label(foreground=label_text, background=label_bg, text=' Ingreidents')
        self.ing_frame = ttk.LabelFrame(self.frame, labelwidget=ingLabel)
        self.ing_frame.grid(column=0, row=1, padx=8, pady=4, sticky = 'news')
        self.ing_frame.rowconfigure(0, weight = 1)
        self.ing_frame.columnconfigure(0, weight = 1)

        # Right frame for the directions
        dirLabel = ttk.Label(foreground=label_text, background=label_bg, text=' Directions')
        self.dir_frame = ttk.LabelFrame(self.frame, labelwidget=dirLabel)
        self.dir_frame.grid(column=1, row=1, padx=8, pady=4, sticky='nwes')
        self.dir_frame.rowconfigure(0, weight = 1)
        self.dir_frame.columnconfigure(0, weight = 1)

        # Adding a text box entry widget for the recipe title
        self.title = tk.StringVar()
        self.title_entered = tk.Entry(self.title_frame, width=75, textvariable=self.title,
                                      bd=5, relief=tk.RIDGE)
        self.title_entered.configure(background = entry_bg, foreground = entry_text, insertbackground='white')
        self.title_entered.grid(column=0, row=2, padx=8, pady=(3, 8), sticky='W')
        self.title_entered.bind("<Tab>", self.focus_next_widget)
        tt.create_ToolTip(self.title_entered, 'Enter the title of the recipe here')

        # Add a scroll box for ingredients
        self.ingredients = scrolledtext.ScrolledText(self.ing_frame, width = 30, bd=5,\
                wrap=tk.WORD, relief=tk.RIDGE)
        self.ingredients.configure(background = entry_bg, foreground = entry_text, insertbackground='white')
        self.ingredients.vbar.configure(troughcolor = scroll_color, background = scroll_bg, activebackground = scrollbar_color)
        self.ingredients.grid(column=0, row=0, padx=8, pady=(0, 20), sticky=tk.N+tk.S+tk.E+tk.W)
        self.ingredients.bind("<Tab>", self.focus_next_widget)
        tt.create_ToolTip(self.ingredients, 'Enter ingredients here, one per line\nBegin line with a period to omit bullet point')

        # Add a scroll text box for directions
        self.directions = scrolledtext.ScrolledText(self.dir_frame, bd=5,\
                wrap=tk.WORD, relief=tk.RIDGE)
        self.directions.configure(background = entry_bg, foreground = entry_text, insertbackground='white')
        self.directions.vbar.configure(troughcolor = scroll_color, background = scroll_bg, activebackground = scrollbar_color)
        self.directions.grid(column=0, row=0, padx=8, pady=(0, 20), sticky=tk.N+tk.S+tk.E+tk.W)
        self.directions.bind("<Tab>", self.focus_next_widget)
        tt.create_ToolTip(self.directions, 'Enter the recipe instructions here')

        self.title_entered.focus()  # Place cursor into the title entry box
Exemplo n.º 24
0
    def createWidgets(self):    
        # Tab Control introduced here --------------------------------------
        tabControl = ttk.Notebook(self.win)     # Create Tab Control
        
        tab1 = ttk.Frame(tabControl)            # Create a tab 
        tabControl.add(tab1, text='MCU')      # Add the tab
        
        tab2 = ttk.Frame(tabControl)            # Add a second tab
        tabControl.add(tab2, text='DSP')      # Make second tab visible
        
        tabControl.pack(expand=1, fill="both")  # Pack to make visible
        # ~ Tab Control introduced here -----------------------------------------
        
        # We are creating a container frame to hold all other widgets
        self.monty = ttk.LabelFrame(tab1, text=' Monty Python ')
        self.monty.grid(column=0, row=0, padx=8, pady=4)        
        
        # Changing our Label
        ttk.Label(self.monty, text="Enter a name:").grid(column=0, row=0, sticky='W')
   
        # Adding a Textbox Entry widget
        self.name = tk.StringVar()
        nameEntered = ttk.Entry(self.monty, width=24, textvariable=self.name)
        nameEntered.grid(column=0, row=1, sticky='W')     
        nameEntered.delete(0, tk.END)
        nameEntered.insert(0, '< default name >') 
        
        # Adding a Button
        self.action = ttk.Button(self.monty, text="Click Me!", command=self.clickMe)   
        self.action.grid(column=2, row=1)
        
        ttk.Label(self.monty, text="Choose a number:").grid(column=1, row=0)
        number = tk.StringVar()
        numberChosen = ttk.Combobox(self.monty, width=14, textvariable=number)
        numberChosen['values'] = (1, 2, 4, 42, 100)
        numberChosen.grid(column=1, row=1)
        numberChosen.current(0)
             
        # Adding a Spinbox widget using a set of values
        self.spin = Spinbox(self.monty, values=(10, 20, 40, 420, 1000), width=5, bd=8, command=self._spin) 
        self.spin.grid(column=0, row=2, sticky='W')
                  
        # Using a scrolled Text control    
        scrolW  = 40; scrolH  =  10
        self.scr = scrolledtext.ScrolledText(self.monty, width=scrolW, height=scrolH, wrap=tk.WORD)
        self.scr.grid(column=0, row=3, sticky='WE', columnspan=3)
               
        # Tab Control 2 refactoring  ---------------------------------------------------
        # We are creating a container frame to hold all other widgets -- Tab2
        self.monty2 = ttk.LabelFrame(tab2, text=' The Snake ')
        self.monty2.grid(column=0, row=0, padx=8, pady=4)
        
        # Creating three checkbuttons
        chVarDis = tk.IntVar()
        check1 = tk.Checkbutton(self.monty2, text="Disabled", variable=chVarDis, state='disabled')
        check1.select()
        check1.grid(column=0, row=0, sticky=tk.W)                 
        
        self.chVarUn = tk.IntVar()
        self.check2 = tk.Checkbutton(self.monty2, text="UnChecked", variable=self.chVarUn)
        self.check2.deselect()
        self.check2.grid(column=1, row=0, sticky=tk.W )                  
         
        self.chVarEn = tk.IntVar()
        self.check3 = tk.Checkbutton(self.monty2, text="Toggle", variable=self.chVarEn)
        self.check3.deselect()
        self.check3.grid(column=2, row=0, sticky=tk.W)                 
     
        # trace the state of the two checkbuttons
        self.chVarUn.trace('w', lambda unused0, unused1, unused2 : self.checkCallback())    
        self.chVarEn.trace('w', lambda unused0, unused1, unused2 : self.checkCallback())   
        # ~ Tab Control 2 refactoring  -----------------------------------------
        
        # Radiobutton list
        colors = ["Blue", "Gold", "Red"]
        
        self.radVar = tk.IntVar()
        
        # Selecting a non-existing index value for radVar
        self.radVar.set(99)    
        
        # Creating all three Radiobutton widgets within one loop
        for col in range(3):
            curRad = 'rad' + str(col)  
            curRad = tk.Radiobutton(self.monty2, text=colors[col], variable=self.radVar, value=col, command=self.radCall)
            curRad.grid(column=col, row=6, sticky=tk.W, columnspan=3)
            # And now adding tooltips
            tt.createToolTip(curRad, 'This is a Radiobutton control.')
            
        # Create a container to hold labels
        labelsFrame = ttk.LabelFrame(self.monty2, text=' Labels in a Frame ')
        labelsFrame.grid(column=0, row=7)
         
        # Place labels into the container element - vertically
        ttk.Label(labelsFrame, text="Label1").grid(column=0, row=0)
        ttk.Label(labelsFrame, text="Label2").grid(column=0, row=1)
        
        # Add some space around each label
        for child in labelsFrame.winfo_children(): 
            child.grid_configure(padx=8)
        
        # Create Manage Files Frame ------------------------------------------------
        mngFilesFrame = ttk.LabelFrame(tab2, text=' Manage Files: ')
        mngFilesFrame.grid(column=0, row=1, sticky='WE', padx=10, pady=5)
        
        # Button Callback
        def getFileName():
            print('Callback getFileName')
            fDir  = path.dirname(__file__)
            fName = fd.askopenfilename(parent=self.win, initialdir=fDir)
            print(fName)
            self.fileEntry.config(state='enabled')
            self.fileEntry.delete(0, tk.END)
            self.fileEntry.insert(0, fName)
            
            if len(fName) > self.entryLen:
                self.fileEntry.config(width=len(fName) + 3)
                        
        # Add Widgets to Manage Files Frame
        lb = ttk.Button(mngFilesFrame, text="Browse to File...", command=getFileName)     
        lb.grid(column=0, row=0, sticky=tk.W) 
        
        #-----------------------------------------------------        
        file = tk.StringVar()
        self.entryLen = scrolW - 4
        self.fileEntry = ttk.Entry(mngFilesFrame, width=self.entryLen, textvariable=file)
        self.fileEntry.grid(column=1, row=0, sticky=tk.W)
              
        #-----------------------------------------------------
        logDir = tk.StringVar()
        self.netwEntry = ttk.Entry(mngFilesFrame, width=self.entryLen, textvariable=logDir)
        self.netwEntry.grid(column=1, row=1, sticky=tk.W) 

        
        def copyFile():
            import shutil   
            src = self.fileEntry.get()
            file = src.split('/')[-1]  
            dst = self.netwEntry.get() + '\\'+ file
            try:
                shutil.copy(src, dst)   
                mBox.showinfo('Copy File to Network', 'Succes: File copied.')     
            except FileNotFoundError as err:
                mBox.showerror('Copy File to Network', '*** Failed to copy file! ***\n\n' + str(err))
            except Exception as ex:
                mBox.showerror('Copy File to Network', '*** Failed to copy file! ***\n\n' + str(ex))   
        
        cb = ttk.Button(mngFilesFrame, text="Copy File To :   ", command=copyFile)     
        cb.grid(column=0, row=1, sticky=tk.E) 
                
        # Add some space around each label
        for child in mngFilesFrame.winfo_children(): 
            child.grid_configure(padx=6, pady=6)
                    

        # Creating a Menu Bar ==========================================================
        menuBar = Menu(tab1)
        self.win.config(menu=menuBar)
        
        # Add menu items
        fileMenu = Menu(menuBar, tearoff=0)
        fileMenu.add_command(label="New")
        fileMenu.add_separator()
        fileMenu.add_command(label="Exit", command=self._quit)
        menuBar.add_cascade(label="File", menu=fileMenu)
        
        # Add another Menu to the Menu Bar and an item
        helpMenu = Menu(menuBar, tearoff=0)
        helpMenu.add_command(label="About")
        menuBar.add_cascade(label="Help", menu=helpMenu)
        
        # Change the main windows icon
        self.win.iconbitmap( fDir +"\\pyc.ico")
        
        # Using tkinter Variable Classes
        strData = tk.StringVar()
        strData.set('StringVar')
        
        # It is not necessary to create a tk.StringVar() 
        strData = tk.StringVar()
        strData = self.spin.get()
        
        # Place cursor into name Entry
        # Set focus to Tab 1           
        tabControl.select(0)      
      
        # Add a Tooltip to the Spinbox
        tt.createToolTip(self.spin, 'This is a Spin control.')         
        
        # Add Tooltips to more widgets
        tt.createToolTip(nameEntered, 'This is an Entry control.')  
        tt.createToolTip(self.action, 'This is a Button control.')                      
        tt.createToolTip(self.scr,    'This is a ScrolledText control.')   
Exemplo n.º 25
0
 def onLoad(self, dataSection):
     if dataSection.has_key('toolTipInfo'):
         import ToolTip
         self.toolTipInfo = ToolTip.ToolTipInfo()
         self.toolTipInfo.onLoad(dataSection._toolTipInfo)
Exemplo n.º 26
0
import sys

from PyQt5.QtWidgets import QApplication

from ToolTip import*

if __name__ == '__main__':
    a = QApplication(sys.argv)
    form = ToolTip()
    form.show()
    a.exec_()
Exemplo n.º 27
0
    def initialize(self):
        """
        Generate the GUI based on the patch objects present, including tooltips.
        :return:
        """
        self.patch_obj_dic = copy.deepcopy(self.orig_patch_obj_dic)
        cont_index = 0
        # Create a LabelFrame for each patch file, which contains checkboxes
        for (fn, patch_obj_list) in iterDic(self.patch_obj_dic):
            self.cb_dic[fn] = []
            self.container.append(ttk.LabelFrame(self.parent, text=fn))
            self.container[cont_index].pack(fill='x')

            # Create and add checkboxes to appropriate LabelFrame
            for (cb_index, obj) in enumerate(patch_obj_list):
                # Create checkbox variable and checkbox label for display
                var = StringVar()
                cb_name = ''
                if obj.group:
                    cb_name = obj.name + '\n(' + obj.group + ')'
                else:
                    cb_name = obj.name

                # Create and add checkboxes to the LabelFrame, using the grid geometry manager
                self.cb_dic[fn].append(
                    ttk.Checkbutton(self.container[cont_index],
                                    text=cb_name,
                                    variable=var,
                                    onvalue='yes',
                                    offvalue='no',
                                    command=lambda fn=fn, p=cb_index, patch_obj
                                    =obj: self.toggle_check(fn, p, patch_obj)))
                self.cb_dic[fn][cb_index].var = var
                # Set initial state of checkboxes
                if 'yes' in obj.status:
                    self.cb_dic[fn][cb_index].var.set('yes')
                else:
                    self.cb_dic[fn][cb_index].var.set('no')
                grid_pos = calc_grid_pos(cb_index, cols=3)
                self.cb_dic[fn][cb_index].grid(row=grid_pos[0],
                                               column=grid_pos[1],
                                               sticky='W')
                self.cb_dic[fn][cb_index].columnconfigure(0, weight=1)
                self.cb_dic[fn][cb_index].columnconfigure(1, weight=1)
                self.cb_dic[fn][cb_index].columnconfigure(2, weight=1)

                # Right clicking checkboxes currently does nothing: self.edit_repl_opts() has an empty implementation
                self.cb_dic[fn][cb_index].bind(
                    '<Button-3>',
                    lambda event, fn=fn, p=cb_index, patch_obj=obj:
                    edit_repl_opts(event, fn, p, patch_obj))
                # And finally, some tooltips for help
                tip = ToolTip(self.cb_dic[fn][cb_index], obj.help_text)

            cont_index += 1

        # Some buttons may be useful...
        self.container.append(ttk.Frame(self.parent))
        self.container[-1].pack(pady=5)
        self.apply_button = ttk.Button(self.container[-1],
                                       text='Apply Changes',
                                       command=self.app_chgs)
        self.disable_all_button = ttk.Button(self.container[-1],
                                             text='Disable all',
                                             command=self.disable_all_patches)
        self.defaults_button = ttk.Button(self.container[-1],
                                          text='Restore Defaults',
                                          command=self.restore_defaults)
        self.apply_button.grid(row=0, column=0, padx=5)
        self.disable_all_button.grid(row=0, column=1, padx=5)
        self.defaults_button.grid(row=0, column=2, padx=5)
Exemplo n.º 28
0
 def _ok_callback(self, widget, existing, call_data):
     ToolTip.rmtt()
     if self.is_closed():
         return
     self._do_ok_callback(widget, existing, call_data)
     toplevel.setready()
    def create_widgets(self):
        tabControl = ttk.Notebook(self.win)  # Create Tab Control

        tab1 = ttk.Frame(tabControl)  # Create a tab
        tabControl.add(tab1, text='Tab 1')  # Add the tab
        tab2 = ttk.Frame(tabControl)  # Add a second tab
        tabControl.add(tab2, text='Tab 2')  # Make second tab visible

        tabControl.pack(expand=1, fill="both")  # Pack to make visible

        # LabelFrame using tab1 as the parent
        mighty = ttk.LabelFrame(tab1, text=' Mighty Python ')
        mighty.grid(column=0, row=0, padx=8, pady=4)

        # Modify adding a Label using mighty as the parent instead of win
        a_label = ttk.Label(mighty, text="Enter a name:")
        a_label.grid(column=0, row=0, sticky='W')

        # Adding a Textbox Entry widget
        self.name = tk.StringVar()
        self.name_entered = ttk.Entry(mighty, width=24, textvariable=self.name)
        self.name_entered.grid(column=0, row=1, sticky='W')

        # Adding a Button
        self.action = ttk.Button(mighty,
                                 text="Click Me!",
                                 command=self.click_me)
        self.action.grid(column=2, row=1)

        ttk.Label(mighty, text="Choose a number:").grid(column=1, row=0)
        number = tk.StringVar()
        self.number_chosen = ttk.Combobox(mighty,
                                          width=14,
                                          textvariable=number,
                                          state='readonly')
        self.number_chosen['values'] = (1, 2, 4, 42, 100)
        self.number_chosen.grid(column=1, row=1)
        self.number_chosen.current(0)

        # Adding a Spinbox widget
        self.spin = Spinbox(mighty,
                            values=(1, 2, 4, 42, 100),
                            width=5,
                            bd=9,
                            command=self._spin)  # using range
        self.spin.grid(column=0, row=2, sticky='W')  # align left

        # Using a scrolled Text control
        scrol_w = 40
        scrol_h = 10  # increase sizes
        self.scrol = scrolledtext.ScrolledText(mighty,
                                               width=scrol_w,
                                               height=scrol_h,
                                               wrap=tk.WORD)
        self.scrol.grid(column=0, row=3, sticky='WE', columnspan=3)

        for child in mighty.winfo_children(
        ):  # add spacing to align widgets within tabs
            child.grid_configure(padx=4, pady=2)

            # =====================================================================================
        # Tab Control 2 ----------------------------------------------------------------------
        self.mighty2 = ttk.LabelFrame(tab2, text=' The Snake ')
        self.mighty2.grid(column=0, row=0, padx=8, pady=4)

        # Creating three checkbuttons
        chVarDis = tk.IntVar()
        check1 = tk.Checkbutton(self.mighty2,
                                text="Disabled",
                                variable=chVarDis,
                                state='disabled')
        check1.select()
        check1.grid(column=0, row=0, sticky=tk.W)

        chVarUn = tk.IntVar()
        check2 = tk.Checkbutton(self.mighty2,
                                text="UnChecked",
                                variable=chVarUn)
        check2.deselect()
        check2.grid(column=1, row=0, sticky=tk.W)

        chVarEn = tk.IntVar()
        check3 = tk.Checkbutton(self.mighty2, text="Enabled", variable=chVarEn)
        check3.deselect()
        check3.grid(column=2, row=0, sticky=tk.W)

        # trace the state of the two checkbuttons
        chVarUn.trace('w',
                      lambda unused0, unused1, unused2: self.checkCallback())
        chVarEn.trace('w',
                      lambda unused0, unused1, unused2: self.checkCallback())

        # First, we change our Radiobutton global variables into a list
        colors = ["Blue", "Gold", "Red"]

        # create three Radiobuttons using one variable
        self.radVar = tk.IntVar()

        # Next we are selecting a non-existing index value for radVar
        self.radVar.set(99)

        # Now we are creating all three Radiobutton widgets within one loop
        for col in range(3):
            curRad = tk.Radiobutton(self.mighty2,
                                    text=colors[col],
                                    variable=self.radVar,
                                    value=col,
                                    command=self.radCall)
            curRad.grid(column=col, row=1, sticky=tk.W)  # row=6
            # And now adding tooltips
            tt.create_ToolTip(curRad, 'This is a Radiobutton control')

        # Add a Progressbar to Tab 2
        self.progress_bar = ttk.Progressbar(tab2,
                                            orient='horizontal',
                                            length=286,
                                            mode='determinate')
        self.progress_bar.grid(column=0, row=3, pady=2)

        # Create a container to hold buttons
        buttons_frame = ttk.LabelFrame(self.mighty2, text=' ProgressBar ')
        buttons_frame.grid(column=0, row=2, sticky='W', columnspan=2)

        # Add Buttons for Progressbar commands
        ttk.Button(buttons_frame,
                   text=" Run Progressbar   ",
                   command=self.run_progressbar).grid(column=0,
                                                      row=0,
                                                      sticky='W')
        ttk.Button(buttons_frame,
                   text=" Start Progressbar  ",
                   command=self.start_progressbar).grid(column=0,
                                                        row=1,
                                                        sticky='W')
        ttk.Button(buttons_frame,
                   text=" Stop immediately ",
                   command=self.stop_progressbar).grid(column=0,
                                                       row=2,
                                                       sticky='W')
        ttk.Button(buttons_frame,
                   text=" Stop after second ",
                   command=self.progressbar_stop_after).grid(column=0,
                                                             row=3,
                                                             sticky='W')

        for child in buttons_frame.winfo_children():
            child.grid_configure(padx=2, pady=2)

        for child in self.mighty2.winfo_children():
            child.grid_configure(padx=8, pady=2)

            # Creating a Menu Bar
        menu_bar = Menu(self.win)
        self.win.config(menu=menu_bar)

        # Add menu items
        file_menu = Menu(menu_bar, tearoff=0)
        file_menu.add_command(label="New")
        file_menu.add_separator()
        file_menu.add_command(label="Exit", command=self._quit)
        menu_bar.add_cascade(label="File", menu=file_menu)

        # Display a Message Box
        def _msgBox():
            msg.showinfo(
                'Python Message Info Box',
                'A Python GUI created using tkinter:\nThe year is 2017.')

            # Add another Menu to the Menu Bar and an item

        help_menu = Menu(menu_bar, tearoff=0)
        help_menu.add_command(
            label="About", command=_msgBox)  # display messagebox when clicked
        menu_bar.add_cascade(label="Help", menu=help_menu)

        # Change the main windows icon
        self.win.iconbitmap('pyc.ico')

        # It is not necessary to create a tk.StringVar()
        # strData = tk.StringVar()
        strData = self.spin.get()
        print("Spinbox value: " + strData)

        # call function
        self.usingGlobal()

        self.name_entered.focus()

        # Add Tooltips -----------------------------------------------------
        # Add a Tooltip to the Spinbox
        tt.create_ToolTip(self.spin, 'This is a Spinbox control')

        # Add Tooltips to more widgets
        tt.create_ToolTip(self.name_entered, 'This is an Entry control')
        tt.create_ToolTip(self.action, 'This is a Button control')
        tt.create_ToolTip(self.scrol, 'This is a ScrolledText control')
Exemplo n.º 30
0
    def __init__(self, parent, **kwargs):
        self.parent = parent
        self.data = kwargs["data"]

        ##set variables
        self.choices = []  #the possible graphs for the features selected
        self.graphChoice = StringVar()  #the graph chosen by the user
        self.selectedLabels = []  #the features chosen by the user
        self.labels = {}  #holds all features in dataset
        self.selectedAxes = {
        }  #the chosen features matched up with the chosen axes

        ## GUI Components
        ## Columns
        self.columnsFrame = ttk.LabelFrame(self.parent,
                                           padding="5",
                                           text='Headers')
        self.graphsFrame = ttk.LabelFrame(self.parent,
                                          padding="5",
                                          text='Graph')
        self.axesFrame = ttk.LabelFrame(self.parent,
                                        padding="5",
                                        text='Changes')
        self.buttonFrame = ttk.Frame(self.parent, padding="5")
        self.columnsFrame.grid(column=0, row=0, sticky=(N, S, E, W))
        self.graphsFrame.grid(column=1, row=0, sticky=(N, S, E, W))
        self.axesFrame.grid(column=2, row=0, sticky=(N, S, E, W))
        self.buttonFrame.grid(column=2, row=1, sticky=E)

        ## Headers
        for j, name in enumerate(self.data.keys()):
            var = IntVar()
            b = ttk.Checkbutton(self.columnsFrame,
                                text=name,
                                variable=var,
                                command=self.featureSelected)
            b.grid(column=0, row=j, sticky=(N, S, E, W))
            if self.data[name].ftypes == "object:dense":
                self.typeName = "String"
            elif self.data[name].ftypes == "int64:dense":
                self.typeName = "Int"
            elif self.data[name].ftypes == "float64:dense":
                self.typeName = "Float"
            self.info = "Type: " + self.typeName + "\n Length:" + str(
                len(self.data[name]))
            tt.ToolTip(b, self.info)
            self.labels[name] = var

        ## Graph
        self.listGraphTypes()

        ## set up the axes choices
        self.graphSelected()

        ## Buttons
        ttk.Button(self.buttonFrame, text='Graph',
                   command=self.process).grid(row=0,
                                              column=0,
                                              sticky=E,
                                              pady=4)
        ttk.Button(self.buttonFrame, text='Quit',
                   command=self.parent.destroy).grid(row=0,
                                                     column=1,
                                                     sticky=E,
                                                     pady=4)