Esempio n. 1
0
    def __init__(self, master):
        self.master = master
        "----------------------------Constant---------------------------------"
        Classeur = r'C:\Users\jlaqueyr\Documents\MyNoteBook\ScriptPython\BorneDefaut\Feuille.xlsx'
        FeuilleDefaut = r'Liste des saisies'

        LBL_Z_INFO = 'Information générale'
        LARGEUR_FRAME = 485
        TITRE = 'Borne défaut'
        DIMENSION_FENETRE = '500x350+30+30'
        LBL_SFC = 'SFC'
        LBL_OPERATEUR = 'Nom'
        LBL_Z_LIGNE = 'Sur quel ligne est apparu le défaut ?'
        LBL_Z_DEF = 'Description du défaut'
        LBL_Z_DEF_INT = 'Intégration'
        LBL_Z_DEF_UFT = 'UFT et CADS'
        LBL_Z_DEF_ETI = 'Etiquettes'
        LBL_Z_DEF_CHOIX = "Choisir le défaut"

        NOM_LIGNE1 = 'Ligne Principale'
        NOM_LIGNE2 = 'Ligne Secondaire'
        PADX_INFO = 5
        PADX_LBL_INFO = 5
        PADY_INFO = 20
        PADX_BTN_LIGNE = 40
        PADY_BTN_LIGNE = 15
        PADX_ZN_DEF = 5
        PADY_ZN_DEF = 10
        MSG_SAUV_TITRE = "Ticket sauvegardé"
        MSG_SAUV_CONTENU = "Ticket défaut sauvegardé"
        VAL_DEF_CHOIX = 'Choix X'

        nomOperateur = StringVar(master)
        sfc = StringVar(master)
        master.title(TITRE)
        master.geometry(DIMENSION_FENETRE)
        "---------------------------Fonction----------------------------------"

        def callback(*args):
            print("tkvar changed")
            popupMenu2.configure(state='disable')
            popupMenu3.configure(state='disable')

        def callback2(*args):
            print("tkvar changed 1")
            popupMenu1.configure(state='disable')
            popupMenu3.configure(state='disable')

        def callback3(*args):
            print("tkvar changed 2")
            popupMenu1.configure(state='disable')
            popupMenu2.configure(state='disable')

        def testDefaut(listeDefaut, valDefaut):
            breakpoint()
            defaut = ""

            for defaut in listeDefaut:

                if defaut != valDefaut:
                    defFinal = defaut
                    break
                else:
                    pass

            return defFinal

        def RecupValeur():
            ListeInfo = []

            print(self.txtSfc.get(), self.txtNomOperateur.get(),
                  Ligne1Var.get(), Ligne2Var.get(), self.tkvar.get())

            listeLigne = [Ligne1Var.get(), Ligne2Var.get()]
            resultatLigne = testLigne(listeLigne, 'off')

            resultatSfc, ErrSfc = testSfc(sfc.get())
            breakpoint()
            self.listeDef = [
                self.tkvar.get(),
                self.tkvar1.get(),
                self.tkvar2.get()
            ]

            resultatDefaut = testDefaut(self.listeDef, VAL_DEF_CHOIX)

            ListeInfo = [
                resultatSfc,
                self.txtNomOperateur.get(), resultatLigne, resultatDefaut
            ]

            sauvDonnee(Classeur, ListeInfo, FeuilleDefaut)

            self.txtSfc.delete(0, 'end')
            self.txtNomOperateur.delete(0, 'end')
            self.btnLigne1.deselect()
            self.btnLigne2.deselect()

            popupMenu1.configure(state='active')
            popupMenu1.selection_clear()

            popupMenu2.configure(state='active')
            popupMenu2.selection_clear()

            popupMenu3.configure(state='active')
            popupMenu3.selection_clear()

            messagebox.showinfo(MSG_SAUV_TITRE, MSG_SAUV_CONTENU)

        "------------------Information sur le produit-------------------------"
        self.ZoneInfoGen = LabelFrame(master,
                                      text=LBL_Z_INFO,
                                      width=LARGEUR_FRAME,
                                      height=80)
        self.ZoneInfoGen.grid(row=0, column=1, sticky=N + S + W + E)
        self.ZoneInfoGen.grid_propagate(0)

        self.lblSfc = Label(self.ZoneInfoGen, text=LBL_SFC)
        self.txtSfc = Entry(self.ZoneInfoGen, textvariable=sfc)
        self.txtSfc.focus_set()
        self.lblNomOperateur = Label(self.ZoneInfoGen, text=LBL_OPERATEUR)
        self.txtNomOperateur = Entry(self.ZoneInfoGen,
                                     textvariable=nomOperateur)

        self.lblSfc.grid(row=0, column=1, padx=PADX_LBL_INFO, pady=PADY_INFO)
        self.txtSfc.grid(row=0,
                         column=2,
                         ipadx=25,
                         padx=PADX_INFO,
                         pady=PADY_INFO)
        self.lblNomOperateur.grid(row=0,
                                  column=3,
                                  padx=PADX_LBL_INFO,
                                  pady=PADY_INFO)
        self.txtNomOperateur.grid(row=0,
                                  column=4,
                                  ipadx=25,
                                  padx=PADX_INFO,
                                  pady=PADY_INFO)

        "----------Information sur la ligne qui a produit le défaut-----------"
        self.ZoneLigne = LabelFrame(master,
                                    text=LBL_Z_LIGNE,
                                    width=LARGEUR_FRAME,
                                    height=80)
        self.ZoneLigne.grid(row=1, column=1)
        self.ZoneLigne.grid_propagate(0)

        Ligne1Var = StringVar(value="off")
        self.btnLigne1 = Radiobutton(self.ZoneLigne,
                                     text=NOM_LIGNE1,
                                     variable=Ligne1Var,
                                     indicatoron=False,
                                     value="Ligne1")

        Ligne2Var = StringVar(value="off")
        self.btnLigne2 = Radiobutton(self.ZoneLigne,
                                     text=NOM_LIGNE2,
                                     variable=Ligne2Var,
                                     indicatoron=False,
                                     value="Ligne2")

        self.btnLigne1.grid(row=0,
                            column=1,
                            ipadx=30,
                            padx=PADX_BTN_LIGNE,
                            pady=PADY_BTN_LIGNE)
        self.btnLigne2.grid(row=0,
                            column=3,
                            ipadx=30,
                            padx=PADX_BTN_LIGNE,
                            pady=PADY_BTN_LIGNE)

        if self.btnLigne2.state():
            print(self.btnLigne2.state)

        if not self.btnLigne1.select():
            print(self.btnLigne1.get())
        "------------------Information sur le type de défaut-------------------"
        self.ZoneDefaut = LabelFrame(master,
                                     text=LBL_Z_DEF,
                                     width=LARGEUR_FRAME,
                                     height=130)
        self.ZoneDefaut.grid(row=2, column=1, sticky='NW')
        self.ZoneDefaut.grid_propagate(0)

        self.ZoneDefautInt = LabelFrame(self.ZoneDefaut,
                                        text=LBL_Z_DEF_INT,
                                        height=80,
                                        width=150)
        self.ZoneDefautInt.grid(row='0',
                                column='1',
                                padx=PADX_ZN_DEF,
                                pady=PADY_ZN_DEF)
        self.ZoneDefautInt.grid_propagate(0)

        self.tkvar = StringVar(master)
        choices = {'Choix 1', 'Choix 2', 'Choix 3', 'Choix 4', 'Choix 5'}
        self.tkvar.set(VAL_DEF_CHOIX)
        popupMenu1 = OptionMenu(self.ZoneDefautInt, self.tkvar, *choices)
        Label(self.ZoneDefautInt, text=LBL_Z_DEF_CHOIX).grid(row=1, column=1)
        popupMenu1.grid(row=2, column=1, ipadx=30)

        self.ZoneDefautUFT = LabelFrame(self.ZoneDefaut,
                                        text=LBL_Z_DEF_UFT,
                                        height=80,
                                        width=150)

        self.ZoneDefautUFT.grid(row='0',
                                column='2',
                                padx=PADX_ZN_DEF,
                                pady=PADY_ZN_DEF)
        self.ZoneDefautUFT.grid_propagate(0)
        self.tkvar1 = StringVar(master)
        choices = {'Choix 1', 'Choix 2', 'Choix 3', 'Choix 4', 'Choix 5'}
        self.tkvar1.set(VAL_DEF_CHOIX)
        popupMenu2 = OptionMenu(self.ZoneDefautUFT, self.tkvar1, *choices)
        Label(self.ZoneDefautUFT, text=LBL_Z_DEF_CHOIX).grid(row=1, column=1)
        popupMenu2.grid(row=2, column=1, ipadx=30)

        self.ZoneDefautEti = LabelFrame(self.ZoneDefaut,
                                        text=LBL_Z_DEF_ETI,
                                        height=80,
                                        width=150)
        self.ZoneDefautEti.grid(row='0',
                                column='3',
                                padx=PADX_ZN_DEF,
                                pady=PADY_ZN_DEF)
        self.ZoneDefautEti.grid_propagate(0)

        self.tkvar2 = StringVar(master)
        choices = {'Choix 1', 'Choix 2', 'Choix 3', 'Choix 4', 'Choix 5'}
        self.tkvar2.set(VAL_DEF_CHOIX)
        popupMenu3 = OptionMenu(self.ZoneDefautEti, self.tkvar2, *choices)
        Label(self.ZoneDefautEti, text=LBL_Z_DEF_CHOIX).grid(row=1, column=1)
        popupMenu3.grid(row=2, column=1, ipadx=30)

        self.btnValider = Button(master,
                                 text="Valider",
                                 relief="raised",
                                 command=RecupValeur)

        self.btnValider.grid(row=3, column=1)

        self.tkvar.trace("w", callback)
        self.tkvar1.trace('w', callback2)
        self.tkvar2.trace('w', callback3)
Esempio n. 2
0
    def place_gui_definition_controls(self, frame2, MainWin ):
        
        # show option for Main Window or Dialog
        MainWin.mainOrDialog=StringVar()
        lbframe = LabelFrame(frame2, text="GUI Type")
        lbframe.pack(anchor=W)

        b = Radiobutton(lbframe, text="Main Window", value='main', variable=MainWin.mainOrDialog)
        b.pack(anchor=W)
        b = Radiobutton(lbframe, text="Dialog", value='dialog', variable=MainWin.mainOrDialog)
        b.pack(anchor=W)
        MainWin.mainOrDialog.set('main')
        self.mainOrDialog_traceName = MainWin.mainOrDialog.trace_variable("w", self.mainOrDialog_Callback)
        
        MainWin.hideOkChkBox = Checkbutton(lbframe, text="Hide OK Btn", width="15")
        MainWin.hideOkChkBox.pack(anchor=E, side=TOP)
        MainWin.hideOkChkBox_StringVar = StringVar()
        MainWin.hideOkChkBox_StringVar.set("no")
        MainWin.hideOkChkBox.configure(variable=MainWin.hideOkChkBox_StringVar, onvalue="yes", offvalue="no")
        self.hideOkChkBox_traceName = MainWin.hideOkChkBox_StringVar.trace_variable("w", self.hideOkChkBox_Callback)
        
        # show checkbox for menu and status bar
        lbframe = LabelFrame(frame2, text="Window Options")
        lbframe.pack(anchor=W)
        
        MainWin.menuChkBox = Checkbutton(lbframe, text="Main Menu", width="15")
        MainWin.menuChkBox.pack(anchor=W, side=TOP)
        MainWin.menuChkBox_StringVar = StringVar()
        MainWin.menuChkBox_StringVar.set("no")
        MainWin.menuChkBox.configure(variable=MainWin.menuChkBox_StringVar, onvalue="yes", offvalue="no")
        self.menuChkBox_traceName = MainWin.menuChkBox_StringVar.trace_variable("w", self.menuChkBox_Callback)
        
        MainWin.statusBarChkBox = Checkbutton(lbframe, text="Status Bar", width="15")
        MainWin.statusBarChkBox.pack(anchor=W, side=TOP)
        MainWin.statusBarChkBox_StringVar = StringVar()
        MainWin.statusBarChkBox_StringVar.set("no")
        MainWin.statusBarChkBox.configure(variable=MainWin.statusBarChkBox_StringVar, onvalue="yes", offvalue="no")
        self.statusBarChkBox_traceName = MainWin.statusBarChkBox_StringVar.trace_variable("w", self.statusBarChkBox_Callback)
        
        MainWin.resizableChkBox = Checkbutton(lbframe, text="Resizable", width="15")
        MainWin.resizableChkBox.pack(anchor=W, side=TOP)
        MainWin.resizableChkBox_StringVar = StringVar()
        MainWin.resizableChkBox_StringVar.set("yes")
        MainWin.resizableChkBox.configure(variable=MainWin.resizableChkBox_StringVar, onvalue="yes", offvalue="no")
        self.resizableChkBox_traceName = MainWin.resizableChkBox_StringVar.trace_variable("w", self.resizableChkBox_Callback)
        
        # show choices for standard dialogs
        lbframe = LabelFrame(frame2, text="Standard Dialogs")
        lbframe.pack(anchor=W)

        MainWin.stdDialMessChkBox = Checkbutton(lbframe, text="Messages", width="15")
        MainWin.stdDialMessChkBox.pack(anchor=E, side=TOP)
        MainWin.stdDialMessChkBox_StringVar = StringVar()
        MainWin.stdDialMessChkBox_StringVar.set("no")
        MainWin.stdDialMessChkBox.configure(variable=MainWin.stdDialMessChkBox_StringVar, onvalue="yes", offvalue="no")
        

        MainWin.stdDialColorChkBox = Checkbutton(lbframe, text="Color Choose", width="15")
        MainWin.stdDialColorChkBox.pack(anchor=E, side=TOP)
        MainWin.stdDialColorChkBox_StringVar = StringVar()
        MainWin.stdDialColorChkBox_StringVar.set("no")
        MainWin.stdDialColorChkBox.configure(variable=MainWin.stdDialColorChkBox_StringVar, onvalue="yes", offvalue="no")

        MainWin.stdDialFileChkBox = Checkbutton(lbframe, text="File Open/Save", width="15")
        MainWin.stdDialFileChkBox.pack(anchor=E, side=TOP)
        MainWin.stdDialFileChkBox_StringVar = StringVar()
        MainWin.stdDialFileChkBox_StringVar.set("no")
        MainWin.stdDialFileChkBox.configure(variable=MainWin.stdDialFileChkBox_StringVar, onvalue="yes", offvalue="no")

        MainWin.stdAlarmChkBox = Checkbutton(lbframe, text="Alarm Handler", width="15")
        MainWin.stdAlarmChkBox.pack(anchor=E, side=TOP)
        MainWin.stdAlarmChkBox_StringVar = StringVar()
        MainWin.stdAlarmChkBox_StringVar.set("no")
        MainWin.stdAlarmChkBox.configure(variable=MainWin.stdAlarmChkBox_StringVar, onvalue="yes", offvalue="no")
        
        # put color picker button
        self.ColorPickButton = Button(frame2, text="Put Color on Clipboard", width=18)
        self.ColorPickButton.pack(anchor=W, side=TOP)
        self.ColorPickButton.bind("<ButtonRelease-1>", self.ColorPickButton_Click)
        
        # put color picker button
        self.ColorPickButton = Button(frame2, text="   --> Named Color", width=18)
        self.ColorPickButton.pack(anchor=W, side=TOP)
        self.ColorPickButton.bind("<ButtonRelease-1>", self.NamedColorPickButton_Click)
        
        # put Font picker button
        self.FontPickButton = Button(frame2, text="Put Font on Clipboard", width=18)
        self.FontPickButton.pack(anchor=W, side=TOP)
        self.FontPickButton.bind("<ButtonRelease-1>", self.FontPickButton_Click)
        
        # put All widgets on notebook 
        #self.PlaceAllWidgetsButton = Button(frame2, text="Debug All Widgets", width=18)
        #self.PlaceAllWidgetsButton.pack(anchor=W, side=TOP)
        #self.PlaceAllWidgetsButton.bind("<ButtonRelease-1>", self.PlaceAllWidgetsButton_Click)
        
        # append new row or column to current notebook tab
        add_frame = Frame( frame2 )
        self.AddNewRowButton = Button(add_frame, text="Add Row", width=8)
        self.AddNewRowButton.pack(anchor=W, side=LEFT)
        self.AddNewRowButton.bind("<ButtonRelease-1>", self.AddNewRowButton_Click)

        self.AddNewColButton = Button(add_frame, text="Add Col", width=8)
        self.AddNewColButton.pack(anchor=W, side=LEFT)
        self.AddNewColButton.bind("<ButtonRelease-1>", self.AddNewColButton_Click)
        add_frame.pack(anchor=W, side=TOP)

        # dup_widget_label can be used for set_placement_widget_label, or widget duplication
        self.dup_widget_label_desc = Label(frame2, width=16)
        self.dup_widget_label_desc["text"      ] = "\nduplicate widget\nand its properties"
        self.dup_widget_label_desc.pack(anchor=W)
        
        self.dup_widget_label = Label(frame2, width=16)        
        self.dup_widget_label["text"      ] = "\n\n"
        self.dup_widget_label["font"      ] = ("Courier", 8, "normal")
        self.dup_widget_label["relief"] = "groove"
        self.dup_widget_label.pack(anchor=W)
        self.dup_widget_label_plain_bg = self.dup_widget_label["background"]
        self.dup_widget_label["background"] = "#FFFACD"  # lemonchiffon
# Horizontal upper menu
menu_upper = Menu(window)
menu_file = Menu(menu_upper, tearoff=0)
menu_upper.add_cascade(label='File', menu=menu_file)
menu_file.add_command(label='Load audio file', command=load_audio_file)
menu_file.add_command(label='Predict tags', command=predict_tags)
menu_file.add_separator()
menu_file.add_command(label='Exit', command=window.destroy)
menu_help = Menu(menu_upper, tearoff=0)
menu_upper.add_cascade(label='Help',menu=menu_help)
menu_help.add_command(label='Help', command=window_help)
menu_help.add_command(label='About', command=window_about)
window.config(menu=menu_upper)

# Dataset choice
frame_dataset_choice = LabelFrame(window, text='Choose dataset', font=['TkDefaultFont', 9, 'bold'], labelanchor='n', width=25, padx=5, pady=5)
frame_dataset_choice.grid(column=0, row=2, sticky='n')
dataset_choice = IntVar()
dataset_choice.set(0)
Radiobutton(frame_dataset_choice, text='MagnaTagATune Dataset', variable=dataset_choice, value = 0, command=mtt_unlimited, width=22).grid(column=0, row=0)
Radiobutton(frame_dataset_choice, text='Last.fm Dataset 2020', variable=dataset_choice, value = 1, command=lastfm_limited, width=22).grid(column=0, row=1)
dataset_ntags = IntVar()
dataset_ntags.set(50)
frame_dataset_lastfm = LabelFrame(frame_dataset_choice, text='Choose number of tags', font=['TkDefaultFont', 9, 'bold'], labelanchor='n', width=16)
frame_dataset_lastfm.grid(column=0, row=2, sticky='n')
rbtn_50tags = Radiobutton(frame_dataset_lastfm, text='50', variable=dataset_ntags, value=50, width=5, state='disabled')
rbtn_50tags.grid(column=0, row=0)
rbtn_100tags = Radiobutton(frame_dataset_lastfm, text='100', variable=dataset_ntags, value=100, width=5, state='disabled')
rbtn_100tags.grid(column=1, row=0)

# Neural network choice
Esempio n. 4
0
"""Simple button.
   Stand-alone example from Tk Assistant.
   stevepython.wordpress.com"""

from tkinter import Button, LabelFrame, Tk

root = Tk()
root.title('Simple button')


def clkd_btn():
    """Button was clicked."""
    print('clicked')


main_frame = LabelFrame(root, text='Button')
main_frame.grid(padx=20, pady=20)

btn_one = Button(main_frame, bg='skyblue', text='Click Me', command=clkd_btn)
btn_one.grid(pady=15, padx=15)

root.mainloop()
Knocked this up to save time when I need a file selector
in my Tkinter GUI.

Added the execute file bit to make it a bit more interesting.
"""
from tkinter import filedialog, Tk, Button, Entry, LabelFrame
import webbrowser

root = Tk()
root.title('File selector')


def get_file():
    """Get file from user and execute its linked app"""
    users_file = filedialog.askopenfilename(title='Please Select a file')
    entry1.delete(0, 'end')
    entry1.insert(0, users_file)
    webbrowser.open(users_file)


frame1 = LabelFrame(root, text='Click browse to choose a file')
frame1.grid(padx=20, pady=10)

entry1 = Entry(frame1)
entry1.grid(padx=5, pady=5)

btn1 = Button(frame1, text='Browse', command=get_file)
btn1.grid(row=0, column=1, padx=8, pady=15)

root.mainloop
Esempio n. 6
0
 def __init__(self, master):
     self.master = master
     self.master.geometry("%dx%d-%d-%d" % (330, 302, 50, 80))
     self.master.resizable(False, False)
     self.master.title(
         '%s/%s' %
         (ec2.configFile, ec2.profileName[ec2.profileName.rfind(' ') + 1:]))
     # === 建立圖形界面裡會顯示的變數 =======
     self.startORstop = StringVar()
     self.showStatus = StringVar()
     self.makeConnection = StringVar()
     self.showFQDN = StringVar()
     self.showIP = StringVar()
     # === 建立開關機計數器變數 =======
     self.counter = 0
     # === 建立 [設定檔] === User Profile 框架 =======
     self.userprofileFrame = LabelFrame(self.master, text='設定檔')
     # === 建立 [設定檔] instance ID 標籤與文字 =======
     self.identiferLabel = Label(self.userprofileFrame,
                                 text='載入的 EC2 Inatance ID')
     self.identiferLabel.grid(row=0, column=0)
     self.identiferText = Entry(self.userprofileFrame)
     self.identiferText.grid(row=0, column=1)
     # === 建立 [設定檔] region 標籤與文字 =======
     self.regionalLabel = Label(self.userprofileFrame,
                                text='該 EC2 Inatance 的 Region')
     self.regionalLabel.grid(row=1, column=0)
     self.regionalText = Entry(self.userprofileFrame)
     self.regionalText.grid(row=1, column=1)
     # === 定位 [設定檔] 包裝 User Profile 框架 Frame =======
     self.userprofileFrame.pack(padx=10, pady=5, ipadx=5, ipady=5)
     # === 插入 [EC2 的 instance ID 文字] 到文字框 =======
     self.identiferText.insert(0, ec2.instanceID)
     # === 插入 [EC2 的 user region 文字] 到文字框 =======
     self.regionalText.insert(0, ec2.userRegion)
     # === 建立 [開/關機] start/stop switch 按鈕 =======
     self.switchButton = Button(self.master,
                                textvariable=self.startORstop,
                                width=10,
                                command=self.switchbuttonClicked)
     # === 定位 [開/關機] start/stop switch 按鈕 =======
     self.switchButton.pack(padx=10, pady=5)
     # === 建立 [目前狀態] instance state 框架 Frame =======
     self.instancestatusFrame = LabelFrame(self.master, text='目前狀態')
     # === 建立 [目前狀態] instance state 標籤與文字 =======
     self.machinestateLabel = Label(self.instancestatusFrame,
                                    text='目前的 EC2 Inatance 狀態')
     self.machinestateLabel.grid(row=0, column=0)
     self.machinestateText = Entry(
         self.instancestatusFrame,
         textvariable=self.showStatus)  # 顯示 [EC2 Instance(虛擬機器) 的 State]
     self.machinestateText.grid(row=0, column=1)
     # === 定位 [目前狀態] 包裝 instance state 框架 Frame =======
     self.instancestatusFrame.pack(padx=10, pady=5, ipadx=5, ipady=5)
     # === 建立 [細節] instance description 框架 Frame =======
     self.statisticsFrame = LabelFrame(self.master, text='細節')
     # === 建立 [細節] instance fqdn 標籤與文字 =======
     self.instanceFQDNLable = Label(self.statisticsFrame,
                                    text='目前 EC2 Inatance 的 FQDN')
     self.instanceFQDNLable.grid(row=0, column=0)
     self.instanceFQDNNameText = Entry(
         self.statisticsFrame,
         textvariable=self.showFQDN)  # 顯示 [EC2 Instance(虛擬機器) 的 FQDN]
     self.instanceFQDNNameText.grid(row=0, column=1)
     # ===  建立 [細節] instance ip addr 標籤與文字   =======
     self.instanceIPaddrLable = Label(self.statisticsFrame,
                                      text='目前 EC2 Inatance 的 IP')
     self.instanceIPaddrLable.grid(row=1, column=0)
     self.instanceIPaddrText = Entry(
         self.statisticsFrame,
         textvariable=self.showIP)  # 顯示 [EC2 Instance(虛擬機器) 的 IP]
     self.instanceIPaddrText.grid(row=1, column=1)
     # === 定位 [細節] 包裝 instance description 框架 Frame =======
     self.statisticsFrame.pack(padx=10, pady=5, ipadx=5, ipady=5)
     # === 建立 [連線伺服器] make connection 按鈕 =======
     self.connectButton = Button(self.master,
                                 textvariable=self.makeConnection,
                                 width=10,
                                 command=self.connectbuttonClicked)
     # === 定位 [連線伺服器] make connection 按鈕 =======
     self.connectButton.pack(padx=10, pady=5)
     # === 更新所有顯示變數  =======
     self.variablesRefreshing()
Esempio n. 7
0
    def __init__(self, root):

        root.geometry("450x300+300+200")
        root.resizable(False, False)
        root.title("Key speed")

        # ___________Global__________________________________________________ 72
        # ошибок
        self.check_int = 0
        self.check_str = StringVar()
        self.check_str.set(None)

        # кол-во backspace
        self.repair_str = StringVar()
        self.repair_str.set(None)
        self.repair_int = 0
        # time
        self.time_start = float()
        self.ans_time = float()
        self.ans_time_str = StringVar()
        self.ans_time_str.set(None)

        # вывод текста
        self.txt_var = StringVar()
        self.txt_var_str = str()
        self.txt_var.set(
            'Put the cursor on the input field.' + 'After clicking start,' +
            'the text will be here and the time report will start.' +
            'Сlicking  Enter to complete text entry.' +
            'Enter the name to save the result.')

        # ________________CREATE_____________________________________________ 72
        # Label = create
        frame_list = LabelFrame(root, text='Text')
        self.l_text = Label(frame_list,
                            textvariable=self.txt_var,
                            font='Arial 10',
                            wraplength='80m')
        self.l_error = Label(frame_list,
                             textvariable=self.repair_str,
                             font='Arial 13')
        # entry = create
        self.e_input = Entry(frame_list, width=55)

        # button = create
        frame_butt = Frame(root)
        self.b_start = Button(frame_butt, command=self.start,
                              text='Start')  # 1 — запуск игры,
        self.b_look_hist = Button(frame_butt,
                                  command=self.history_look,
                                  text='History')  # 2 — просмотр истории игр.
        self.b_clear = Button(frame_butt, command=self.clear,
                              text='Clear')  # Clear Global variable

        # Result
        grop_ans = LabelFrame(root, text='Result')
        self.ent_name = Entry(grop_ans, width=20)
        self.labl_ans_time = Label(grop_ans, textvariable=self.ans_time_str)
        self.labl_check = Label(grop_ans, textvariable=self.check_str)
        self.labl_repair = Label(grop_ans, textvariable=self.repair_str)
        self.b_save = Button(root, command=self.history_save, text='Save')

        # BIND
        self.e_input.bind("<BackSpace>", self.repair_text)
        self.e_input.bind("<Return>", self.check_input)

        # _____________PACK__________________________________________________ 72
        # frame_list
        frame_list.pack(padx=3, pady=3)
        self.l_text.pack(padx=5, pady=5)
        self.l_error.pack(padx=3, pady=3, side='right')
        self.e_input.pack(padx=5, pady=5)

        # frame_button
        frame_butt.pack(padx=3, pady=3)
        self.b_start.pack(padx=5, pady=5, side='left')
        self.b_look_hist.pack(padx=5, pady=5, side='left')
        self.b_clear.pack(padx=5, pady=5, side='left')

        # grop_ans
        grop_ans.pack()
        Label(grop_ans,
              text='Name |    Word/time | Error | Repair',
              font='Arial 10').pack()
        self.ent_name.pack(padx=5, pady=5, side='left')
        self.labl_ans_time.pack(padx=5, pady=5, side='left')
        self.labl_check.pack(padx=5, pady=5, side='left')
        self.labl_repair.pack(padx=5, pady=5, side='left')
        self.b_save.pack(padx=5, pady=5)
Esempio n. 8
0
    def __init__(self):
        super().__init__()
        self.wait = BooleanVar()
        self.wait.set(False)
        self.relance_de = []
        self.title("Poker d'As")
        self.frame_player1 = LabelFrame(self,
                                        text="Player 1",
                                        padx=20,
                                        pady=20)
        self.frame_player1.grid(row=1, column=1)
        self.player1 = Label(
            self.frame_player1,
            text=
            "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:",
            justify="left")
        self.player1.grid()
        self.frame_player2 = LabelFrame(self,
                                        text="Player 2",
                                        padx=20,
                                        pady=20)
        self.frame_player2.grid(row=2, column=1)
        self.player2 = Label(
            self.frame_player2,
            text=
            "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:",
            justify="left")
        self.player2.grid()
        self.frame_player3 = LabelFrame(self,
                                        text="Player 3",
                                        padx=20,
                                        pady=20)
        self.frame_player3.grid(row=3, column=1)
        self.player3 = Label(
            self.frame_player3,
            text=
            "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:",
            justify="left")
        self.player3.grid()

        self.joueur_interface = [(self.frame_player1, self.player1),
                                 (self.frame_player2, self.player2),
                                 (self.frame_player3, self.player3)]

        self.tour_a = Label(self, text="C'est au tour de ", justify="center")
        self.tour_a.grid(row=1, column=2, columnspan=5)
        self.lance_a_faire = Label(self, text="Tour: 0/0", justify="center")
        self.lance_a_faire.grid(row=1, column=7, columnspan=4)
        frame1 = Frame(self, borderwidth=2, relief=GROOVE).grid(row=2,
                                                                column=2)
        self.de_1 = Button(frame1,
                           text="0",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(0),
                           padx=5,
                           pady=5)
        self.de_1.grid(row=2, column=3)
        self.de_2 = Button(frame1,
                           text="1",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(1),
                           padx=5,
                           pady=5)
        self.de_2.grid(row=2, column=4)
        self.de_3 = Button(frame1,
                           text="2",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(2),
                           padx=5,
                           pady=5)
        self.de_3.grid(row=2, column=5)
        self.de_4 = Button(frame1,
                           text="3",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(3),
                           padx=5,
                           pady=5)
        self.de_4.grid(row=2, column=6)
        self.de_5 = Button(frame1,
                           text="4",
                           width=3,
                           height=2,
                           command=lambda: self.buttom_action(4),
                           padx=5,
                           pady=5)
        self.de_5.grid(row=2, column=7)
        self.de_buttom = [
            self.de_1, self.de_2, self.de_3, self.de_4, self.de_5
        ]
        Button(self, text="Nouvelle Partie",
               command=self.nouvelle_partie).grid(row=4,
                                                  column=6,
                                                  columnspan=4)
        self.blancer = Button(self,
                              command=self.relance,
                              text="Garder/Lancer dés")
        self.blancer.grid(row=3, column=2, columnspan=3)
        self.tour = Button(self, text="Tour suivant", command=self.next_game)
        self.tour.grid(row=4, column=2, columnspan=3)

        self.sauvegarde = Button(self,
                                 text="Sauvegarde",
                                 command=self.fonction_sauvegarde)
        self.sauvegarde.grid(row=3, column=6, columnspan=4)

        self.menu = menu(self)
Esempio n. 9
0
convert_to_txt_button.place(relx=0.1, rely=0.72, relwidth=0.32, height=20)


def change_mode(mode_str):
    global current_mode
    current_mode = mode_str
    print("Current mode: " + current_mode)
    sys.stdout.flush()

    if current_mode == "M1":
        convert_to_txt_button['text'] = "Convert Txt-Pack to TXT"
    elif current_mode == "M2":
        convert_to_txt_button['text'] = "Convert TXT to Txt-Pack"


mode_frame = LabelFrame(main_frame, text="Select Mode", padx=5, pady=5)
mode_frame['bg'] = mode_frame.master['bg']
mode_frame.place(relx=0.5, rely=0.6, relwidth=0.28, relheight=0.34)
v = StringVar()
v.set("M1")
radio_b_1 = Radiobutton(mode_frame,
                        text="Txt-Pack to TXT",
                        variable=v,
                        value="M1",
                        bg="light blue",
                        command=lambda: change_mode("M1")).pack()
radio_b_2 = Radiobutton(mode_frame,
                        text="TXT to Txt-Pack",
                        variable=v,
                        value="M2",
                        bg="light blue",
Esempio n. 10
0
    def __init__(self, controller):
        super().__init__(padx=10, pady=10)
        self.update()
        self.deiconify()
        self.resizable(False, False)
        self.controller = controller
        self.range_spinBox = models_app.range_freq()
        self.range_spinBox.load()

        self.buttonCancel = ttk.Button(self,
                                       command=self.cancel_config,
                                       text='Cancelar')
        self.buttonCancel.grid(row=3, column=0, sticky='WEN', padx=11)

        self.frame1 = LabelFrame(self, text='Experimento da onda na corda')
        self.frame1.grid(row=1,
                         column=0,
                         padx=11,
                         pady=11,
                         ipady=11,
                         sticky='N')
        self.label_frame1 = ttk.Label(self.frame1,
                                      text='Alterar resolução da frequência:')
        self.label_frame1.grid(column=0, row=0, columnspan=2)

        self.label_spinbox1_frame1 = ttk.Label(
            self.frame1, text='Frequencia inicial: (Hz) ')
        self.label_spinbox1_frame1.grid(row=1, column=0)
        self.spinbox1_frame1 = Spinbox(self.frame1,
                                       from_=self.range_spinBox.corda_from,
                                       to=self.range_spinBox.corda_to)
        self.spinbox1_frame1.grid(column=0, row=2, pady=10, padx=11)

        self.label_spinbox2_frame1 = ttk.Label(self.frame1,
                                               text='Frequencia final: (Hz) ')
        self.label_spinbox2_frame1.grid(row=1, column=1)
        self.spinbox2_frame1 = Spinbox(self.frame1,
                                       from_=self.range_spinBox.corda_from,
                                       to=self.range_spinBox.corda_to)
        self.spinbox2_frame1.grid(column=1, row=2, pady=10, padx=11)
        self.spinbox2_frame1.delete(0, "end")
        self.spinbox2_frame1.insert(0, str(self.range_spinBox.corda_to))

        self.button1_frame1 = ttk.Button(self.frame1,
                                         text='Salvar alterações',
                                         command=self.save_config)
        self.button1_frame1.grid(row=3,
                                 column=0,
                                 pady=10,
                                 padx=11,
                                 sticky='we')
        self.button2_frame1 = ttk.Button(self.frame1,
                                         text='Restaurar valores padrão',
                                         command=self.restore_config_corda)
        self.button2_frame1.grid(row=3,
                                 column=1,
                                 pady=10,
                                 padx=11,
                                 sticky='we')

        self.frame2 = LabelFrame(self,
                                 text='Experimento da onda na superfície')
        self.frame2.grid(row=2,
                         column=0,
                         padx=11,
                         pady=11,
                         ipady=11,
                         sticky='N')
        self.label_frame2 = ttk.Label(self.frame2,
                                      text='Alterar resolução da frequência:')
        self.label_frame2.grid(column=0, row=0, columnspan=2)

        self.label_spinbox1_frame2 = ttk.Label(
            self.frame2, text='Frequencia inicial: (Hz) ')
        self.label_spinbox1_frame2.grid(row=1, column=0)
        self.spinbox1_frame2 = Spinbox(self.frame2,
                                       from_=self.range_spinBox.sup_from,
                                       to=self.range_spinBox.sup_to)
        self.spinbox1_frame2.grid(column=0, row=2, pady=10, padx=11)

        self.label_spinbox2_frame2 = ttk.Label(self.frame2,
                                               text='Frequencia final: (Hz) ')
        self.label_spinbox2_frame2.grid(row=1, column=1)
        self.spinbox2_frame2 = Spinbox(self.frame2,
                                       from_=self.range_spinBox.sup_from,
                                       to=self.range_spinBox.sup_to)
        self.spinbox2_frame2.grid(column=1, row=2, pady=10, padx=11)
        self.spinbox2_frame2.delete(0, "end")
        self.spinbox2_frame2.insert(0, str(self.range_spinBox.sup_to))

        self.button1_frame2 = ttk.Button(self.frame2,
                                         text='Salvar alterações',
                                         command=self.save_config)
        self.button1_frame2.grid(row=3,
                                 column=0,
                                 pady=10,
                                 padx=11,
                                 sticky='we')
        self.button2_frame2 = ttk.Button(self.frame2,
                                         text='Restaurar valores padrão',
                                         command=self.restore_config_sup)
        self.button2_frame2.grid(row=3,
                                 column=1,
                                 pady=10,
                                 padx=11,
                                 sticky='we')

        self.padroesView = padroes_view(self, self.controller)
        self.padroesView.grid(row=1, column=1, rowspan=10)
Esempio n. 11
0
def winnat(root,data): # main function
    def close_all():
        for widget in frm2.winfo_children():
            widget.destroy()
        root.quit()
        root.destroy()
        root.grab_release()
        return
    root.protocol('WM_DELETE_WINDOW', close_all)
    gr_list=natone(data[-1]) # getting list data, data[-1] is the hyperlink
    font1 = tkf.Font(family="times",size=16,weight="bold")
    #region frames
    frm1=LabelFrame(root) # country name
    frm1.grid(row=0,column=0,columnspan=2,sticky='nsew')
    Label(frm1,text=data[0],font='times 32 underline').pack()

    frm3=LabelFrame(root,bg='white')#total case
    frm3.grid(row=1,column=0,sticky='we')
    Label(frm3,text=data[1],fg='#00ECFF',bg='white',
    font=font1).pack(side=BOTTOM)
    Label(frm3,text='Total Case',font=font1,bg='white').pack(side=TOP)

    frm4=LabelFrame(root,bg='white')#total death
    frm4.grid(row=2,column=0,sticky='we')
    Label(frm4,text='{} ({}%)'.format(data[2],round(data[2]*100/data[1],2)),
    bg='white',fg='red',font=font1).pack(side=BOTTOM)
    Label(frm4,text='Total Death',
    font=font1,bg='white').pack(side=TOP)

    frm5=LabelFrame(root,bg='white')#total recovery
    frm5.grid(row=3,column=0,sticky='we')
    Label(frm5,text='{} ({}%)'.format(data[3],round(data[3]*100/data[1],2)),
    bg='white',fg='#AAE34D',font=font1).pack(side=BOTTOM)
    Label(frm5,text='Total Recovery',
    font=font1,bg='white').pack(side=TOP)

    frm6=LabelFrame(root,bg='white')#active case
    frm6.grid(row=4,column=0,sticky='we')
    Label(frm6,text='{} ({}%)'.format(data[4],round(data[4]*100/data[1],2)),
    bg='white',fg='#CDCDCD',font=font1).pack(side=BOTTOM)
    Label(frm6,text='Active Cases',
    font=font1,bg='white').pack(side=TOP)

    frm7=LabelFrame(root,bg='white')#total cases per mil
    frm7.grid(row=5,column=0,sticky='we')
    Label(frm7,text=data[5],bg='white',fg='#00ECFF',font=font1).pack(side=BOTTOM)
    Label(frm7,text='Total Cases/1M',font=font1,bg='white').pack(side=TOP)

    frm8=LabelFrame(root,bg='white')#toatl death per mil
    frm8.grid(row=6,column=0,sticky='we')
    Label(frm8,text=data[6],bg='white',fg='red',font=font1).pack(side=BOTTOM)
    Label(frm8,text='Death/1M',font=font1,bg='white').pack(side=TOP)

    frm9=LabelFrame(root,bg='white')#total tests
    frm9.grid(row=7,column=0,sticky='we')
    Label(frm9,text=data[7],bg='white',fg='#00ECFF',font=font1).pack(side=BOTTOM)
    Label(frm9,text='Total Tets',font=font1,bg='white').pack(side=TOP)

    frm10=LabelFrame(root,bg='white')#tests per mil
    frm10.grid(row=8,column=0,sticky='we')
    Label(frm10,text=data[8],bg='white',fg='#CDCDCD',font=font1).pack(side=BOTTOM)
    Label(frm10,text='Test/1M',font=font1,bg='white').pack(side=TOP)

    frm11=LabelFrame(root,bg='white')#population
    frm11.grid(row=9,column=0,sticky='we')
    Label(frm11,text=data[9],bg='white',fg='#CDCDCD',font=font1).pack(side=BOTTOM)
    Label(frm11,text='Population',font=font1,bg='white').pack(side=TOP)
    #endregion
    wrap2=LabelFrame(root,bg='white') # large container for the charts
    wrap2.grid(row=1,column=1,rowspan=9,sticky='nsew')
    cnv=Canvas(wrap2,width=1000,height=500)
    cnv.pack(side=LEFT,fill=BOTH,expand=1)
    frm2=Frame(cnv) # effective frame

    for i in gr_list:
        if 'daily' in i[0].lower():
            fig1=bargr(i[1],i[2],i[0])
        else:
            fig1=linegr(i[1],i[2],i[0])
        cnv1=FigureCanvasTkAgg(fig1, master=frm2)
        cnv1.get_tk_widget().pack(side=TOP,anchor=N)
        cnv1.draw()
    
    scrollbar=Scrollbar(wrap2,command=cnv.yview)
    scrollbar.pack(side=RIGHT,fill=Y)

    cnv.configure(bg='white',yscrollcommand=scrollbar.set) # setting the scrollbar
    cnv.bind("<Configure>",lambda e: cnv.configure(scrollregion=cnv.bbox("all")))
    cnv.create_window((0,0),window=frm2,anchor=NW)

    root.mainloop()
Esempio n. 12
0
# Tk function to close the program window
def close_window():
    top.destroy()


# Main script to initialize program window and
# it's interactive elements and labels

global top
global output_area
global output_message

if __name__ == '__main__':
    top = tkinter.Tk()
    labelframe = LabelFrame(top,
                            width=600,
                            height=600,
                            text="ENCRYPTION MODULE 1.0")
    labelframe.pack()
    left = Label(labelframe,
                 text="Use the buttons below to encrypt/decrypt log")
    left.pack()
    encrypt_button = Button(top, text="Encrypt", command=e)
    encrypt_button.pack()
    decrypt_button = Button(top, text="Decrypt", command=d)
    decrypt_button.pack()
    quit_button = Button(top, text="Quit", command=close_window)
    quit_button.pack()
    output_area = LabelFrame(top, width=200, height=100)
    output_area.pack()
    output_message = Label(output_area, text="Ready")
    output_message.pack()
Esempio n. 13
0
    def __init__(self, root):
        self.root = root
        self.root.title("Resitro de Altura")
        self.root.config(bg="#7C3E48")

        self.Nombre = StringVar()
        self.Altura = StringVar()
        self.Peso = StringVar()

        # ENCABEZADO DEL PROGRAMA
        encabezado = Label(root,
                           text="Registro de Altura",
                           width=50,
                           font=('arial', 16, 'bold'),
                           bg='#477038')
        encabezado.grid(row=0, column=0, columnspan=2)

        # FRAME
        frame = LabelFrame(
            self.root,
            text='Ingreso de Datos',
            bg="#7C3E48",
            padx=20,
            pady=20,
        )
        frame.grid(row=1, column=0, columnspan=3, pady=20, sticky='W')

        frame1 = LabelFrame(self.root,
                            text='Controles',
                            bg="#7C3E48",
                            padx=20,
                            pady=20)
        frame1.grid(row=1,
                    column=1,
                    columnspan=2,
                    pady=20,
                    padx=10,
                    sticky='E')

        frame3 = LabelFrame(self.root, text='Lista de datos', bg='#7C3E48')
        frame3.grid(row=2, column=0, columnspan=2, pady=20, padx=10)

        # LABELS
        label_nom = Label(frame,
                          text='Nombre:',
                          font=('arial', 12, 'bold'),
                          bg="#7C3E48")
        label_alt = Label(frame,
                          text='Altura:',
                          font=('arial', 12, 'bold'),
                          bg="#7C3E48")
        label_pes = Label(frame,
                          text='Peso:',
                          font=('arial', 12, 'bold'),
                          bg="#7C3E48")

        # GRID LABEL
        label_nom.grid(row=0, column=0, sticky='W')
        label_alt.grid(row=1, column=0, sticky='W')
        label_pes.grid(row=2, column=0, sticky='W')

        # ENTRY
        e_nom = Entry(frame, width=40, textvariable=self.Nombre)
        e_alt = Entry(frame, width=40, textvariable=self.Altura)
        e_pes = Entry(frame, width=40, textvariable=self.Peso)

        # ENTRY GRID
        e_nom.grid(row=0, column=1)
        e_alt.grid(row=1, column=1)
        e_pes.grid(row=2, column=1)

        # BOTONES DE LA APLICACIONES

        btn_guardar = Button(frame1,
                             text='Guardar',
                             padx=5,
                             pady=5,
                             bg='#836F41',
                             command=self.AgregarDatos)
        btn_mostrar = Button(frame1,
                             text='Mostrar Base',
                             padx=5,
                             pady=5,
                             bg='#836F41',
                             command=self.obtener_productos)
        btn_limpiar = Button(frame1,
                             text='Limpiar',
                             padx=5,
                             pady=5,
                             bg='#836F41')
        btn_borrar = Button(frame1,
                            text='Borrar dato',
                            padx=5,
                            pady=5,
                            bg='#836F41',
                            command=self.borrar_dato)
        btn_cerrar = Button(frame1,
                            text='Cerrar Aplicacion',
                            padx=5,
                            pady=5,
                            bg='#836F41',
                            width=15,
                            command=self.root.destroy)

        # GRID DE BOTONES
        btn_guardar.grid(row=0, column=0)
        btn_mostrar.grid(row=0, column=1)
        btn_limpiar.grid(row=1, column=0)
        btn_borrar.grid(row=1, column=1)
        btn_cerrar.grid(row=3, column=0, columnspan=2)

        # LISTA DE LA BASE DE DATOS
        self.tree = ttk.Treeview(frame3, height=10, column=('#0', '#1'))
        self.tree.grid(row=4, column=0)
        self.tree.heading('#0', text="Nombre", anchor=CENTER)
        self.tree.heading('#1', text="Altura", anchor=CENTER)
        self.tree.heading('#2', text="Peso", anchor=CENTER)

        # Lista de ejecuciones
        self.CrearBBDD()
        self.obtener_productos()
    plyr_credits = 100
    plyr_winnings = 0
    plyr_stake = 1

    ranks = ''
    stake_btn = None
    suits = ''

# GUI.
root = Tk()
root.title('The Poker Machine V1.1')
#root.geometry('399x523'): not needed

# Frame for pay table display.
pay_table_frame = LabelFrame(root)
pay_table_frame.grid(row=0, column=0)

# Load in and display paytable image.
pay_table_lbl = Label(pay_table_frame)
PHOTO = PhotoImage(file=r'cards/pay-table-bg-386x200.png')
pay_table_lbl.config(image=PHOTO)
pay_table_lbl.grid(row=0, column=0, padx=2, pady=2)
pay_table_lbl.photo = PHOTO

# Frame for messages display.
msg_frame = LabelFrame(root)
msg_frame.grid(row=1, column=0)

# Startup message.
msg_lbl = Label(msg_frame, font=('Helvetica', 10, 'bold'),
Esempio n. 15
0
    def __init__(self, *args, **kwargs):

        pygame.mixer.init()
        t_pth = os.getcwd()
        pygame.mixer.music.load(r'{}\music\bg.mp3'.format(t_pth))
        pygame.mixer.music.set_volume(1)
        pygame.mixer.music.play(loops=-1)

        # root initialization
        super().__init__(*args, **kwargs)

        self.resizable(False, False)

        self.x = self.winfo_screenwidth() // 2
        self.y = self.winfo_screenheight() // 2
        self.xx = (self.x - (self.x // 2)) // 2
        self.yy = (self.y - (self.y // 2)) // 2
        self.iconbitmap('favicon.ico')
        self.title('Automate Watermark on Images')
        self.focus()
        self.geometry('{}x{}+{}+{}'.format(self.x, self.y, self.xx, self.yy))

        # Heading
        self.lbl_head = LabelFrame(self,
                                   bg='#005082',
                                   fg="#fff",
                                   relief=tk.RAISED)
        self.lbl_head.grid(row=0, padx=self.xx // 1.88, pady=self.yy // 8)
        Label(self.lbl_head,
              bg='#005082',
              fg="#fff",
              text='RadientBrain Watermark System',
              font=('TkDefaultFont', 16)).grid(row=0,
                                               padx=self.xx // 2,
                                               pady=self.yy // 8)

        # Source DIR
        self.lbl_src = LabelFrame(self,
                                  bg='#005082',
                                  fg="#fff",
                                  text='Choose Images Source Directory',
                                  relief=tk.RIDGE,
                                  labelanchor="n")
        self.lbl_src.grid(row=1,
                          column=0,
                          padx=self.xx // 4,
                          pady=self.yy // 8)

        self.src_dir = Button(self.lbl_src,
                              bg='#005082',
                              fg="#fff",
                              text='Open',
                              command=self.open_src,
                              relief=tk.RAISED)
        self.src_dir.grid(sticky="n e w s",
                          row=0,
                          padx=self.xx // 2,
                          pady=self.yy // 4)

        # Watermark DIR
        self.wtrmk = LabelFrame(self,
                                bg='#005082',
                                fg="#fff",
                                text='Choose Watermark Image',
                                relief=tk.RIDGE,
                                labelanchor="n")
        self.wtrmk.grid(row=2, column=0, padx=self.xx // 4, pady=self.yy // 8)
        self.wtrmk_btn = Button(self.wtrmk,
                                bg='#005082',
                                fg="#fff",
                                text='Open',
                                command=self.open_wtrmk_dir,
                                relief=tk.RAISED)
        self.wtrmk_btn.grid(sticky="n e w s",
                            row=0,
                            padx=self.xx // 2,
                            pady=self.yy // 4)

        #Start Process
        self.lbl_start = LabelFrame(self,
                                    bg='#005082',
                                    fg="#fff",
                                    relief=tk.RIDGE,
                                    labelanchor="n",
                                    bd=0)
        self.lbl_start.grid(row=3, column=0)
        self.start_btn = Button(self.lbl_start,
                                bg='#005082',
                                fg="#fff",
                                text='Start Process',
                                command=self.start_process,
                                relief=tk.RAISED)
        self.start_btn.grid(sticky="n e w s",
                            row=0,
                            column=0,
                            padx=self.xx // 32)

        #Next Process
        self.next_btn = Button(self.lbl_start,
                               bg='#005082',
                               fg="#fff",
                               text='Next Process',
                               command=self.next_process,
                               relief=tk.RAISED)
        self.next_btn.grid(sticky="n e w s",
                           row=0,
                           column=1,
                           padx=self.xx // 32)

        try:
            os.remove(f"{os.getcwd()}/wtrmk_dir/logo.png")

        except Exception as e:
            self.next_process()

        try:
            folder = f"{os.getcwd()}/dst_photos"
            for filename in os.listdir(folder):
                file_path = os.path.join(folder, filename)
                try:
                    if os.path.isfile(file_path) or os.path.islink(file_path):
                        os.unlink(file_path)
                    elif os.path.isdir(file_path):
                        shutil.rmtree(file_path)
                except Exception as e:
                    print('Failed to delete %s. Reason: %s' % (file_path, e))
        except Exception as e:
            self.next_process()
Esempio n. 16
0
    def __init__(self, master):
        self.initComplete = 0
        self.master = master
        self.x, self.y, self.w, self.h = -1, -1, -1, -1

        # bind master to <Configure> in order to handle any resizing, etc.
        # postpone self.master.bind("<Configure>", self.Master_Configure)
        self.master.bind('<Enter>', self.bindConfigure)

        self.master.title("PyHatch GUI")
        self.master.resizable(0, 0)  # Linux may not respect this

        dialogframe = Frame(master, width=810, height=630)
        dialogframe.pack()

        self.Shortdesc_Labelframe = LabelFrame(
            dialogframe,
            text="Short Description (1-liner)",
            height="90",
            width="718")
        self.Shortdesc_Labelframe.place(x=60, y=127)

        helv20 = tkinter.font.Font(family='Helvetica', size=20, weight='bold')

        self.Buildproject_Button = Button(dialogframe,
                                          text="Build Project",
                                          width="15",
                                          font=helv20)
        self.Buildproject_Button.place(x=492, y=10, width=263, height=68)
        self.Buildproject_Button.bind("<ButtonRelease-1>",
                                      self.Buildproject_Button_Click)

        self.Selectdir_Button = Button(dialogframe,
                                       text="<Select Directory>",
                                       width="15")
        self.Selectdir_Button.place(x=72, y=585, width=672, height=31)
        self.Selectdir_Button.bind("<ButtonRelease-1>",
                                   self.Selectdir_Button_Click)

        self.Author_Entry = Entry(dialogframe, width="15")
        self.Author_Entry.place(x=228, y=424, width=187, height=21)
        self.Author_Entry_StringVar = StringVar()
        self.Author_Entry.configure(textvariable=self.Author_Entry_StringVar)
        self.Author_Entry_StringVar.set("John Doe")

        self.Classname_Entry = Entry(dialogframe, width="15")
        self.Classname_Entry.place(x=192, y=73, width=165, height=21)
        self.Classname_Entry_StringVar = StringVar()
        self.Classname_Entry.configure(
            textvariable=self.Classname_Entry_StringVar)
        self.Classname_Entry_StringVar.set("MyClass")

        self.Copyright_Entry = Entry(dialogframe, width="15")
        self.Copyright_Entry.place(x=228, y=478, width=461, height=21)
        self.Copyright_Entry_StringVar = StringVar()
        self.Copyright_Entry.configure(
            textvariable=self.Copyright_Entry_StringVar)
        self.Copyright_Entry_StringVar.set("Copyright (c) 2013 John Doe")

        self.Email_Entry = Entry(dialogframe, relief="sunken", width="15")
        self.Email_Entry.place(x=228, y=505, width=458, height=21)
        self.Email_Entry_StringVar = StringVar()
        self.Email_Entry.configure(textvariable=self.Email_Entry_StringVar)
        self.Email_Entry_StringVar.set("*****@*****.**")

        self.GithubUserName_Entry = Entry(dialogframe,
                                          relief="sunken",
                                          width="15")
        self.GithubUserName_Entry.place(x=228, y=539, width=458, height=21)
        self.GithubUserName_Entry_StringVar = StringVar()
        self.GithubUserName_Entry.configure(
            textvariable=self.GithubUserName_Entry_StringVar)
        self.GithubUserName_Entry_StringVar.set("github_user_name")

        self.Funcname_Entry = Entry(dialogframe, width="15")
        self.Funcname_Entry.place(x=192, y=100, width=157, height=21)
        self.Funcname_Entry_StringVar = StringVar()
        self.Funcname_Entry.configure(
            textvariable=self.Funcname_Entry_StringVar)
        self.Funcname_Entry_StringVar.set("my_function")

        # License values should be correct format
        LICENSE_OPTIONS = tuple(sorted(CLASSIFIER_D.keys()))
        self.License_Entry_StringVar = StringVar()
        self.License_Entry = OptionMenu(dialogframe,
                                        self.License_Entry_StringVar,
                                        *LICENSE_OPTIONS)
        self.License_Entry.place(x=552, y=424, width=184, height=21)
        self.License_Entry_StringVar.set(LICENSE_OPTIONS[0])

        self.Mainpyname_Entry = Entry(dialogframe, width="15")
        self.Mainpyname_Entry.place(x=168, y=37, width=196, height=21)
        self.Mainpyname_Entry_StringVar = StringVar()
        self.Mainpyname_Entry.configure(
            textvariable=self.Mainpyname_Entry_StringVar)
        self.Mainpyname_Entry_StringVar.set("main.py")

        self.Projname_Entry = Entry(dialogframe, width="15")
        self.Projname_Entry.place(x=168, y=10, width=194, height=21)
        self.Projname_Entry_StringVar = StringVar()
        self.Projname_Entry.configure(
            textvariable=self.Projname_Entry_StringVar)
        self.Projname_Entry_StringVar.set("MyProject")

        self.Shortdesc_Entry = Entry(dialogframe, width="15")
        self.Shortdesc_Entry.place(x=72, y=150, width=688, height=48)
        self.Shortdesc_Entry_StringVar = StringVar()
        self.Shortdesc_Entry.configure(
            textvariable=self.Shortdesc_Entry_StringVar)
        self.Shortdesc_Entry_StringVar.set("My project does this")

        # Status must be correct format
        self.Status_Entry_StringVar = StringVar()
        self.Status_Entry = OptionMenu(dialogframe,
                                       self.Status_Entry_StringVar,
                                       *DEV_STATUS_OPTIONS)
        self.Status_Entry.place(x=228, y=451, width=183, height=21)
        self.Status_Entry_StringVar.set(DEV_STATUS_OPTIONS[0])

        self.Version_Entry = Entry(dialogframe, width="15")
        self.Version_Entry.place(x=552, y=451, width=184, height=21)
        self.Version_Entry_StringVar = StringVar()
        self.Version_Entry.configure(textvariable=self.Version_Entry_StringVar)
        self.Version_Entry_StringVar.set("0.1.1")

        self.Author_Label = Label(dialogframe, text="Author", width="15")
        self.Author_Label.place(x=96, y=424, width=112, height=22)

        self.Classname_Label = Label(dialogframe,
                                     text="Class Name",
                                     width="15")
        self.Classname_Label.place(x=60, y=73, width=112, height=22)

        self.Copyright_Label = Label(dialogframe, text="Copyright", width="15")
        self.Copyright_Label.place(x=96, y=478, width=113, height=23)

        self.Email_Label = Label(dialogframe, text="Email", width="15")
        self.Email_Label.place(x=96, y=505, width=113, height=23)

        self.GithubUserName_Label = Label(dialogframe,
                                          text="GithubUserName",
                                          width="15")
        self.GithubUserName_Label.place(x=96, y=539, width=113, height=23)

        self.Funcname_Label = Label(dialogframe,
                                    text="Function Name",
                                    width="15")
        self.Funcname_Label.place(x=60, y=100, width=112, height=22)

        self.License_Label = Label(dialogframe, text="License", width="15")
        self.License_Label.place(x=432, y=424, width=113, height=23)

        self.Longdesc_Label = Label(dialogframe,
                                    text="Paragraph Description",
                                    width="15")
        self.Longdesc_Label.place(x=216, y=220, width=376, height=22)

        self.Mainpyname_Label = Label(dialogframe,
                                      text="Main Python File",
                                      width="15")
        self.Mainpyname_Label.place(x=48, y=37, width=112, height=22)

        self.Projname_Label = Label(dialogframe,
                                    text="Project Name",
                                    width="15")
        self.Projname_Label.place(x=48, y=10, width=112, height=22)

        self.Selectdir_Label = Label(
            dialogframe,
            text="Select the Directory Below Which to Place Your Project",
            width="15")
        self.Selectdir_Label.place(x=156, y=567, width=536, height=24)

        self.Status_Label = Label(dialogframe, text="Status", width="15")
        self.Status_Label.place(x=96, y=451, width=114, height=24)

        self.Version_Label = Label(dialogframe, text="Version", width="15")
        self.Version_Label.place(x=432, y=451, width=113, height=23)

        self.Isclass_Radiobutton = Radiobutton(dialogframe,
                                               text="Class Project",
                                               value="Class Project",
                                               width="15",
                                               anchor=W)
        self.Isclass_Radiobutton.place(x=320, y=73, width=135, height=27)
        self.RadioGroup1_StringVar = StringVar()
        self.RadioGroup1_StringVar.set("Class Project")
        self.RadioGroup1_StringVar_traceName = \
            self.RadioGroup1_StringVar.trace_variable("w",
                                                      self.RadioGroup1_StringVar_Callback)
        self.Isclass_Radiobutton.configure(variable=self.RadioGroup1_StringVar)

        self.Isfunction_Radiobutton = Radiobutton(dialogframe,
                                                  text="Function Project",
                                                  value="Function Project",
                                                  width="15",
                                                  anchor=W)
        self.Isfunction_Radiobutton.place(x=320, y=100, width=135, height=27)
        self.Isfunction_Radiobutton.configure(
            variable=self.RadioGroup1_StringVar)

        lbframe = Frame(dialogframe)
        self.Text_1_frame = lbframe
        scrollbar = Scrollbar(lbframe, orient=VERTICAL)
        self.Text_1 = Text(lbframe,
                           width="40",
                           height="6",
                           yscrollcommand=scrollbar.set)
        scrollbar.config(command=self.Text_1.yview)
        scrollbar.pack(side=RIGHT, fill=Y)
        self.Text_1.pack(side=LEFT, fill=BOTH, expand=1)

        self.Text_1_frame.place(x=72, y=250, width=665, height=160)
        # >>>>>>insert any user code below this comment for section "top_of_init"

        self.dirname = '<Select Directory>'
        self.Funcname_Entry.config(state=DISABLED)

        h = Hatch(projName='MyProject', mainDefinesClass='N')
        if h.author:
            self.Author_Entry_StringVar.set(h.author)
        if h.proj_license:
            self.License_Entry_StringVar.set(h.proj_license)
        if h.proj_copyright:
            self.Copyright_Entry_StringVar.set(h.proj_copyright)
        if h.email:
            self.Email_Entry_StringVar.set(h.email)
        if h.github_user_name:
            self.GithubUserName_Entry_StringVar.set(h.github_user_name)
        del h
Esempio n. 17
0
Label(CategoryPage, text='', width=30, bg='green').grid(row=0,
                                                        column=0,
                                                        pady=5)
Label(CategoryPage, text='    CATEGORIES  ', width=40).grid(row=0,
                                                            column=1,
                                                            pady=5)
Label(CategoryPage, text='', width=30, bg='red').grid(row=0, column=2, pady=5)
Label(CategoryPage,
      text="Quel aliment souhaitez-vous remplacer ? :").grid(row=1,
                                                             column=1,
                                                             pady=30)
choiceNumber = StringVar()
Entry(CategoryPage, textvariable=choiceNumber, width=4).grid(row=2,
                                                             column=1,
                                                             pady=15)
LabelFrame(CategoryPage, text="Catégories", bd=1).grid(padx=10, pady=10)
Button(CategoryPage,
       text='VALIDER',
       command=lambda: get_first_list(choiceNumber.get())).grid(row=3,
                                                                column=1,
                                                                pady=5)
Label(CategoryPage,
      text="   1\n  PIZZAS",
      borderwidth=2,
      relief="groove",
      width=20,
      height=2).grid(row=4, column=0, pady=15)
Label(CategoryPage,
      text="   2\n    YAOURTS",
      borderwidth=2,
      relief="groove",
Esempio n. 18
0
"""Entry box.
   Stand-alone example from Tk Assistant.
   stevepython.wordpress.com"""

from tkinter import E, Entry, LabelFrame, messagebox, Tk, W

root = Tk()
root.title('Entry box')


def rc_ebox(event):
    """Display contents of entry box."""
    del event
    txt = entry_box.get()
    messagebox.showinfo('Information',
                        'Entry box contains the text: ' + str(txt))


main_frame = LabelFrame(root)
main_frame.grid(padx=5, pady=8)

entry_box = Entry(main_frame, bd=3, bg='gold')
entry_box.grid(sticky=W + E, padx=5, pady=5)
entry_box.insert(0, 'Type text and then right click mouse')
entry_box.focus()

entry_box.bind('<Button-3>', rc_ebox)

root.mainloop()
#create menu
selected = IntVar()
menu = Menu(window)
new_item = Menu(menu, tearoff=0)
new_item.add_command(label='About', command=about)
menu.add_cascade(label='Menu', menu=new_item)
window.config(menu=menu)
#create TABs
tab0 = ttk.Frame(tab_control)
tab_control.add(tab0, text='Personalizzato')
tab1 = ttk.Frame(tab_control)
tab_control.add(tab1, text='Templates')
#Label frame in the 0 tab
checkGroup2 = LabelFrame(tab0,
                         text="Messaggio personalizzato",
                         padx=10,
                         pady=10)
checkGroup2.place(x=5, y=100)
txt = scrolledtext.ScrolledText(checkGroup2, width=57, height=10)
txt.grid(column=1, row=1)

checkGroup3 = LabelFrame(tab0, text="Impostazioni:", padx=6, pady=5)
checkGroup3.place(x=5, y=5)
lbl = Label(checkGroup3, text="Elenco numeri:", compound=LEFT, anchor="w")
lbl.grid(sticky=N + S + W + E, column=0, row=0)
btn = Button(checkGroup3, text="Select file", command=upload)
btn.grid(sticky=N + S + W + E, column=2, row=0)

lbl = Label(tab0, text="Hai selezionato: ", compound=LEFT, anchor="w")
lbl.grid(sticky=N + S + W + E, column=0, row=10)
lbl.place(x=5, y=70)
Esempio n. 20
0
    def vivista(self):
        # Titulo
        self.parent.title("Titita")
        # Tamaño y pocision de la ventana
        self.parent.geometry("1050x480+100+100")
        # Redimensionable
        self.parent.resizable(False, False)
        # Color de fondo
        self.parent.config(background="lavender")
        #  Elegimos el icono del programa en base al OS
        if sistema == "linux":
            logo = PhotoImage(file=ruta2[0] + "/imagenes/titita.gif")
            self.parent.call("wm", "iconphoto", self.parent._w, logo)
        else:
            self.parent.iconbitmap(ruta2[0] + "\\imagenes\\titita.ico")

        #######################################################################
        # Define los distintos widgets

        # Frame de los entry
        entry_frame = LabelFrame(
            self.parent,
            text="Datos del cliente y el aparato",
            bg="lavender",
        )
        entry_frame.place(x=10, y=0)

        # Frame de los entry2
        entry2_frame = LabelFrame(
            self.parent,
            text="Datos sobre la reparacion",
            bg="lavender",
        )
        entry2_frame.place(x=550, y=0)

        # Frame de los botones
        button_frame = LabelFrame(self.parent, text="Comandos", bg="lavender")
        button_frame.place(x=920, y=0)

        # Frame del treeview
        tree_frame = Frame(self.parent)
        tree_frame.place(x=9, y=245)

        #######################################################################
        # Labels y Entrys
        self.nombre_label = Label(
            entry_frame,
            text="Nombre: ",
            bg="lavender",
        )
        self.nombre_entry = Entry(entry_frame, width=50)
        self.nombre_label.grid(row=0, column=0)
        self.nombre_entry.grid(row=0, column=1)

        self.apellido_label = Label(
            entry_frame,
            text="Apellido: ",
            bg="lavender",
        )
        self.apellido_entry = Entry(entry_frame, width=50)
        self.apellido_label.grid(row=1, column=0)
        self.apellido_entry.grid(row=1, column=1)

        self.telefono_label = Label(
            entry_frame,
            text="Telefono: ",
            bg="lavender",
        )
        self.telefono_entry = Entry(entry_frame, width=50)
        self.telefono_label.grid(row=2, column=0)
        self.telefono_entry.grid(row=2, column=1)

        self.direccion_label = Label(
            entry_frame,
            text="Direccion:",
            bg="lavender",
        )
        self.direccion_entry = Entry(entry_frame, width=50)
        self.direccion_label.grid(row=3, column=0)
        self.direccion_entry.grid(row=3, column=1)

        self.tipo_label = Label(
            entry_frame,
            text="Tipo:",
            bg="lavender",
        )
        self.tipo_spinbox = Spinbox(
            entry_frame,
            width=48,
            values=(
                "",
                "Amplificador",
                "Auricular",
                "Auto estereo",
                "Decodificador",
                "Camara",
                "Celular",
                "Centro Musical",
                "Consola de video juegos",
                "Consola portatil",
                "Estabilizador de tension",
                "Fuente de alimentacion",
                "Fuente inversora",
                "Impresora",
                "Mixer",
                "Monitor",
                "Netbook",
                "Notebook",
                "Parlante Bluetooth",
                "PC",
                "Potencia de audio",
                "Radio",
                "Reproductor de DVD",
                "Tablet",
                "Teclado",
                "Teclado musical",
                "Tv",
                "UPS",
                "Otro",
            ),
        )
        self.tipo_label.grid(row=4, column=0)
        self.tipo_spinbox.grid(row=4, column=1, sticky="w")

        self.marca_label = Label(
            entry_frame,
            text="Marca: ",
            bg="lavender",
        )
        self.marca_entry = Entry(entry_frame, width=50)
        self.marca_label.grid(row=5, column=0)
        self.marca_entry.grid(row=5, column=1)

        self.modelo_label = Label(
            entry_frame,
            text="Modelo:",
            bg="lavender",
        )
        self.modelo_entry = Entry(entry_frame, width=50)
        self.modelo_label.grid(row=6, column=0)
        self.modelo_entry.grid(row=6, column=1)

        self.falla_label = Label(
            entry_frame,
            text="Falla: ",
            bg="lavender",
        )
        self.falla_entry = Entry(entry_frame, width=50)
        self.falla_label.grid(row=7, column=0)
        self.falla_entry.grid(row=7, column=1)

        self.otros_label = Label(
            entry_frame,
            text="Otros:",
            bg="lavender",
        )
        self.otros_entry = Entry(entry_frame, width=50)
        self.otros_label.grid(row=8, column=0, pady=5)
        self.otros_entry.grid(row=8, column=1, pady=5)

        ##################################################################

        self.estado_spin = Spinbox(
            entry2_frame,
            values=("En reparacion", "Presupuestado", "Entrgado"),
        )
        self.estado_label = Label(
            entry2_frame,
            text="Estado",
            bg="lavender",
        )
        self.estado_spin.grid(row=0, column=1, sticky="w")
        self.estado_label.grid(row=0, column=0, sticky="w")

        self.costo_label = Label(
            entry2_frame,
            text="Costos",
            bg="lavender",
        )
        self.costo_entry = Entry(entry2_frame, width=30)
        self.costo_label.grid(row=1, column=0, pady=10, sticky="w")
        self.costo_entry.grid(row=1, column=1, pady=10, sticky="w")

        self.total_label = Label(
            entry2_frame,
            text="Total",
            bg="lavender",
        )
        self.total_entry = Entry(entry2_frame, width=30)
        self.total_label.grid(row=2, column=0, pady=10, sticky="w")
        self.total_entry.grid(row=2, column=1, pady=10, sticky="w")

        self.descripcion_label = Label(
            entry2_frame,
            text="Descripcion",
            bg="lavender",
        )
        self.descripcion_entry = Entry(entry2_frame, width=30)
        self.descripcion_label.grid(row=3, column=0, pady=10, sticky="w")
        self.descripcion_entry.grid(row=3, column=1, pady=10, sticky="w")

        self.notificacion_spin = Spinbox(
            entry2_frame,
            width=5,
            values=("No", "Si"),
        )
        self.notificacion_label = Label(
            entry2_frame,
            text="Se notifico",
            bg="lavender",
        )
        self.notificacion_spin.grid(row=4, column=1, sticky="w")
        self.notificacion_label.grid(row=4, column=0, sticky="w")

        #######################################################################
        # Buttons
        # Boton insertar
        self.submit_button = Button(button_frame,
                                    text="Guardar",
                                    command=self.insert_data)
        # Esto es para el enter
        self.submit_button.bind("<Return>", self.insert_data)
        self.submit_button.grid(row=0, column=0)

        # Boton Buscar en db
        self.search_button = Button(button_frame,
                                    text="Buscar",
                                    command=self.search_data)
        # Esto es para el enter
        self.search_button.bind("<Return>", self.search_data)
        self.search_button.grid(row=1, column=0, padx=10, pady=10)

        # Boton de borrado de campos
        self.rm_button = Button(
            button_frame,
            text="Borrar",
            command=self.rm_data,
        )
        # Esto es para el enter
        self.rm_button.bind("<Return>", self.rm_data)
        self.rm_button.grid(row=2, column=0, padx=10, pady=10)

        # Boton de configuraciones
        self.config_button = Button(button_frame,
                                    text="Configurar",
                                    command=self.config_data)
        # Esto es para el enter
        self.config_button.bind("<Return>", self.config_data)
        self.config_button.grid(row=3, column=0)

        ##########################
        tree_scroll = Scrollbar(tree_frame)
        tree_scroll.pack(side="right", fill="y")

        #######################################################################

        # Treeview
        self.tree = ttk.Treeview(
            tree_frame,
            yscrollcommand=tree_scroll.set,
            columns=(
                "Fecha",
                "Nombre",
                "Apellido",
                "Telefono",
                "Direccion",
                "Tipo",
                "Marca",
                "Modelo",
                "Falla",
                "Otros",
            ),
        )
        tree_scroll.config(command=self.tree.yview)
        self.tree.heading("#0", text="Orden")
        self.tree.heading("#1", text="Fecha")
        self.tree.heading("#2", text="Nombre")
        self.tree.heading("#3", text="Apellido")
        self.tree.heading("#4", text="Telefono")
        self.tree.heading("#5", text="Direccion")
        self.tree.heading("#6", text="Tipo")
        self.tree.heading("#7", text="Marca")
        self.tree.heading("#8", text="Modelo")
        self.tree.heading("#9", text="Falla")
        self.tree.heading("#10", text="Otros")
        self.tree.column("#0", stretch="YES", width=70)
        self.tree.column("#1", stretch="YES", width=87)
        self.tree.column("#2", stretch="YES", width=110)
        self.tree.column("#3", stretch="YES", width=110)
        self.tree.column("#4", stretch="YES", width=100)
        self.tree.column("#5", stretch="YES", width=100)
        self.tree.column("#6", stretch="YES", width=80)
        self.tree.column("#7", stretch="YES", width=80)
        self.tree.column("#8", stretch="YES", width=90)
        self.tree.column("#9", stretch="YES", width=100)
        self.tree.column("#10", stretch="YES", width=90)

        self.tree.pack()
        # Esto es para seleccionar con el click
        self.tree.bind("<ButtonRelease-1>", self.select_data)
        self.treeview = self.tree
        self.ver_data()
Esempio n. 21
0
    def __init__(self, master=None):
        super().__init__(master)

        self.pack()

        # First row
        f1 = LabelFrame(self,
                        text='NAND file with No$GBA footer',
                        padx=10,
                        pady=10)

        # NAND Button
        self.nand_mode = False

        nand_icon = PhotoImage(
            data=('R0lGODlhEAAQAIMAAAAAADMzM2ZmZpmZmczMzP///wAAAAAAAAA'
                  'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAYALAAAAAAQAB'
                  'AAAARG0MhJaxU4Y2sECAEgikE1CAFRhGMwSMJwBsU6frIgnR/bv'
                  'hTPrWUSDnGw3JGU2xmHrsvyU5xGO8ql6+S0AifPW8kCKpcpEQA7'))

        self.nand_button = Button(f1,
                                  image=nand_icon,
                                  command=self.change_mode,
                                  state=DISABLED)
        self.nand_button.image = nand_icon

        self.nand_button.pack(side='left')

        self.nand_file = StringVar()
        Entry(f1, textvariable=self.nand_file, state='readonly',
              width=40).pack(side='left')

        if sysname == 'Darwin' and getattr(sys, 'frozen', False):
            Label(f1, text='...').pack(side='top')
        Button(f1, text='...', command=self.choose_nand).pack(side='left')

        f1.pack(padx=10, pady=10, fill=X)

        # Second row
        f2 = Frame(self)

        # Check boxes
        self.checks_frame = Frame(f2)

        # Install TWiLight check
        self.twilight = IntVar()

        twl_chk = Checkbutton(
            self.checks_frame,
            text='Install latest TWiLight Menu++ on custom firmware',
            variable=self.twilight)

        twl_chk.pack(padx=10, anchor=W)

        # Clean files check
        self.clean_downloaded = IntVar()
        self.clean_downloaded.set(1)

        clean_chk = Checkbutton(self.checks_frame,
                                text='Clean downloaded files after completion',
                                variable=self.clean_downloaded)

        clean_chk.pack(padx=10, anchor=W)

        # Extract photo check
        self.photo = IntVar()
        self.photo.set(1)

        photo_chk = Checkbutton(self.checks_frame,
                                text='Extract photo partition from NAND',
                                variable=self.photo)

        photo_chk.pack(padx=10, anchor=W)

        self.checks_frame.pack(fill=X)

        # NAND operation frame
        self.nand_frame = LabelFrame(f2,
                                     text='NAND operation',
                                     padx=10,
                                     pady=10)

        self.nand_operation = IntVar()
        self.nand_operation.set(0)

        Radiobutton(self.nand_frame,
                    text='Remove No$GBA footer',
                    variable=self.nand_operation,
                    value=0,
                    command=lambda: self.enable_entries(False)).pack(anchor=W)

        Radiobutton(self.nand_frame,
                    text='Add No$GBA footer',
                    variable=self.nand_operation,
                    value=1,
                    command=lambda: self.enable_entries(True)).pack(anchor=W)

        fl = Frame(self.nand_frame)

        self.cid_label = Label(fl, text='eMMC CID', state=DISABLED)
        self.cid_label.pack(anchor=W, padx=(24, 0))

        self.cid = StringVar()
        self.cid_entry = Entry(fl,
                               textvariable=self.cid,
                               width=20,
                               state=DISABLED)
        self.cid_entry.pack(anchor=W, padx=(24, 0))

        fl.pack(side='left')

        fr = Frame(self.nand_frame)

        self.console_id_label = Label(fr, text='Console ID', state=DISABLED)
        self.console_id_label.pack(anchor=W)

        self.console_id = StringVar()
        self.console_id_entry = Entry(fr,
                                      textvariable=self.console_id,
                                      width=20,
                                      state=DISABLED)
        self.console_id_entry.pack(anchor=W)

        fr.pack(side='right')

        f2.pack(fill=X)

        # Third row
        f3 = Frame(self)

        if sysname == 'Darwin' and getattr(sys, 'frozen', False):
            Label(f3, text='Start').pack(side='left')
        self.start_button = Button(f3,
                                   text='Start',
                                   width=16,
                                   command=self.hiya,
                                   state=DISABLED)
        self.start_button.pack(side='left', padx=(0, 5))

        if sysname == 'Darwin' and getattr(sys, 'frozen', False):
            Label(f3, text='Quit').pack(side='left')
        Button(f3, text='Quit', command=root.destroy,
               width=16).pack(side='left', padx=(5, 0))

        f3.pack(pady=(10, 20))

        self.folders = []
        self.files = []
Esempio n. 22
0
#Displaying the extracted data in the GUI with tkinter
root = Tk()

# keep track of widgets
seller_tk = np.empty(seller.shape, dtype=object)
buyer_tk = np.empty(buyer.shape, dtype=object)
invoice_tk = np.empty(invoice.shape, dtype=object)
array_tk = np.empty(array.shape, dtype=object)

# top frame ----------
topframe = Frame(root)
topframe.pack()

# seller details
frame0 = LabelFrame(topframe, text="seller details")
frame0.grid(row=0, column=0)
rows = seller.shape[0]
for i in range(rows):
    l = Label(frame0, text=seller[i][0])
    l.grid(row=i, column=0)
    seller_tk[i][0] = l
    e = Entry(frame0)
    e.grid(row=i, column=1)
    e.insert(END, seller[i][1])
    seller_tk[i][1] = e

# buyer details
frame1 = LabelFrame(topframe, text="buyer details")
frame1.grid(row=0, column=1)
rows = buyer.shape[0]
Esempio n. 23
0
    def __init__(self, window, base, **kwargs):
        self.window = window
        self.base = base
        self.my_font = Font(size=16)

        self.name_label_frame = LabelFrame(self.window, text="Nazwa poradni")
        self.name_label_frame.grid(row=0, column=0)

        self.name_text = Text(self.name_label_frame, height=5, width=57)
        self.name_text.grid(row=0, column=0)
        self.name_accept_button = Button(self.name_label_frame,
                                         text="Zachowaj")
        self.name_accept_button.grid(row=1, column=0)

        self.staff_label_frame = LabelFrame(self.window, text="Specjaliści")
        self.staff_label_frame.grid(row=1, column=0)

        self.staff_table = Treeview(self.staff_label_frame,
                                    columns=("name", "speciality"))
        self.staff_table.grid(row=0, column=0)
        self.staff_table.heading("#1", text="imię i nazwisko")
        self.staff_table.heading('#2', text="specjalizacja")
        self.staff_table.column('#1', width=200)
        self.staff_table.column('#2', width=200)
        self.staff_table['show'] = 'headings'

        self.staff_buttons = Frame(self.staff_label_frame)
        self.staff_buttons.grid(row=1, column=0)

        self.new_specialist_button = Button(self.staff_buttons, text="Nowy")
        self.new_specialist_button.grid(row=0, column=0)
        self.edit_specialist_button = Button(self.staff_buttons, text="Edytuj")
        self.edit_specialist_button.grid(row=0, column=1)
        self.delete_specialist_button = Button(self.staff_buttons, text="Usuń")
        self.delete_specialist_button.grid(row=0, column=2)

        self.school_label_frame = LabelFrame(self.window, text="Szkoły")
        self.school_label_frame.grid(row=2, column=0)

        self.school_table = Treeview(self.school_label_frame,
                                     columns=("name", "sort"))
        self.school_table.grid(row=0, column=0)
        self.school_table.heading("#1", text="nazwa szkoły")
        self.school_table.heading('#2', text="rodzaj szkoły")
        self.school_table.column('#1', width=200)
        self.school_table.column('#2', width=200)
        self.school_table['show'] = 'headings'

        self.school_buttons = Frame(self.school_label_frame)
        self.school_buttons.grid(row=1, column=0)

        self.new_school_button = Button(self.school_buttons, text="Dodaj")
        self.new_school_button.grid(row=0, column=0)
        self.edit_school_button = Button(self.school_buttons, text="Edytuj")
        self.edit_school_button.grid(row=0, column=1)
        self.delete_school_button = Button(self.school_buttons, text="Usuń")
        self.delete_school_button.grid(row=0, column=2)

        self.close_button = Button(self.window,
                                   text="Zamknij",
                                   font=self.my_font,
                                   width=20,
                                   command=self.close)
        self.close_button.grid(row=3, column=0)
Esempio n. 24
0
# Empty lists to hold the coins and markets
coins = {}
markets = {}
lastmarketselect = ""
# The threads that bind us
thrdrefresh = threading.Thread
orderreqthrds = {}
graphdrawn = False
btcgbp = 0
# Base windows parameters
window.geometry("1024x768+450+150")
window.resizable(0, 0)
window.title("Cryptopia API")
window.iconbitmap("cryptopia.ico")
# A frame filled with some  buttons.  seems legit.
window.pubframe = LabelFrame(window,
                             text="Public API Functions (No Key Required!)")
window.pubframe.place(relx=0.01, rely=0.01, relheight=0.07, relwidth=0.99)
# Refresh
window.btnrefresh = Button(window.pubframe, text="Refresh", command=refresh)
window.btnrefresh.place(relx=0.01, rely=0.01, height=24, width=65)
# Virtual gap, check x, y on buttons.
# Get BTC price.
window.btngetbtcprice = Button(window.pubframe,
                               text="Get BTC Price",
                               command=getbtcprice)
window.btngetbtcprice.place(relx=0.82, rely=0.01, height=24, width=85)
# Clear text output.
window.btncls = Button(window.pubframe, text="Clear Debug", command=cleardebug)
window.btncls.place(relx=0.91, rely=0.01, height=24, width=85)
# List boxes to hold coin and markets and their respective data
# a matplotlib graph will be thrown in here on getMarketHistory
Esempio n. 25
0
    return vehicle, informed, inspected, renewed


titleframe = Frame(root)
titleframe.configure(background=bg_colour)
titleframe.grid(row=0, column=0)

editframeTitle = Label(root,
                       text="Manage Entries",
                       background=bg_colour,
                       pady=5)

editframe = LabelFrame(root,
                       text="Manage Entries",
                       borderwidth=1,
                       labelanchor='n',
                       labelwidget=editframeTitle,
                       font=("Myriad Pro Bold", 10))
editframe.configure(background=bg_colour)
editframe.grid(row=2, column=0, padx=40, pady=25)

roadtax_tab = ttk.Notebook(root)

bodyframe = Frame(roadtax_tab)
bodyframe.configure(background=bg_colour)
bodyframe.grid()

roadtax_tab.add(bodyframe, text="Roadtax")
roadtax_tab.enable_traversal()
roadtax_tab.grid(row=1, column=0, sticky=S)
Esempio n. 26
0
    def __init__(self, master, chip, start_address, initial_port_desc=""):
        super().__init__(master)

        self.title("Install %s firmware with esptool" % chip.upper())

        self._chip = chip
        self._start_address = start_address
        self._esptool_command = self._get_esptool_command()
        if not self._esptool_command:
            messagebox.showerror(
                "Can't find esptool",
                "esptool not found.\n" +
                "Install it via 'Tools => Manage plug-ins'\n" +
                "or using your OP-system package manager.",
            )
            self._close()
            return

        self.main_frame.columnconfigure(2, weight=1)

        epadx = ems_to_pixels(2)
        ipadx = ems_to_pixels(0.5)
        epady = epadx
        ipady = ipadx

        # Port
        port_label = ttk.Label(self.main_frame, text="Port")
        port_label.grid(row=1,
                        column=1,
                        sticky="w",
                        padx=(epadx, 0),
                        pady=(epady, 0))

        self._port_desc_variable = tk.StringVar(value=initial_port_desc)
        self._port_combo = ttk.Combobox(self.main_frame,
                                        exportselection=False,
                                        textvariable=self._port_desc_variable,
                                        values=[])
        self._port_combo.state(["!disabled", "readonly"])
        self._port_combo.grid(row=1,
                              column=2,
                              sticky="nsew",
                              padx=ipadx,
                              pady=(epady, 0))

        port_reload_button = ttk.Button(self.main_frame,
                                        text="Reload",
                                        command=self._reload_ports)
        port_reload_button.grid(row=1,
                                column=3,
                                sticky="ew",
                                padx=(0, epadx),
                                pady=(epady, 0))

        # Firmware
        firmware_label = ttk.Label(self.main_frame, text="Firmware")
        firmware_label.grid(row=2,
                            column=1,
                            sticky="w",
                            padx=(epadx, 0),
                            pady=(ipady, 0))

        self._firmware_entry = ttk.Entry(self.main_frame, width=65)
        self._firmware_entry.grid(row=2,
                                  column=2,
                                  sticky="nsew",
                                  padx=ipadx,
                                  pady=(ipady, 0))

        browse_button = ttk.Button(self.main_frame,
                                   text="Browse...",
                                   command=self._browse)
        browse_button.grid(row=2,
                           column=3,
                           sticky="we",
                           padx=(0, epadx),
                           pady=(ipady, 0))

        # FLASH_MODE
        self._flashmode = tk.StringVar(None, "keep")
        flashmode_group = LabelFrame(self.main_frame,
                                     text="Flash mode",
                                     padx=10,
                                     pady=10)
        flashmode_group.grid(row=4,
                             column=1,
                             columnspan=2,
                             sticky="w",
                             padx=(epadx, 0),
                             pady=(ipady * 2, 0))

        self._flashmode_keep_radiobutton = ttk.Radiobutton(
            flashmode_group,
            text="From image file (keep)",
            variable=self._flashmode,
            value="keep")
        self._flashmode_keep_radiobutton.grid(row=0, column=0, sticky="w")

        # self._flashmode_variable.value=False
        self._flashmode_qio_radiobutton = ttk.Radiobutton(
            flashmode_group,
            text="Quad I/O (qio)",
            variable=self._flashmode,
            value="qio")
        self._flashmode_qio_radiobutton.grid(row=0, column=1, sticky="w")

        self._flashmode_dio_radiobutton = ttk.Radiobutton(
            flashmode_group,
            text="Dual I/O (dio)",
            variable=self._flashmode,
            value="dio")
        self._flashmode_dio_radiobutton.grid(row=1, column=0, sticky="w")

        self._flashmode_dout_radiobutton = ttk.Radiobutton(
            flashmode_group,
            text="Dual Output (dout)",
            variable=self._flashmode,
            value="dout")
        self._flashmode_dout_radiobutton.grid(row=1, column=1, sticky="w")

        # Erase
        self._erase_variable = tk.BooleanVar(value=True)
        self._erase_checkbutton = ttk.Checkbutton(
            self.main_frame,
            text="Erase flash before installing",
            variable=self._erase_variable)
        self._erase_checkbutton.grid(row=6,
                                     column=1,
                                     columnspan=2,
                                     sticky="w",
                                     padx=(epadx, 0),
                                     pady=(ipady, epady))

        # Buttons
        install_button = ttk.Button(self.main_frame,
                                    text="Install",
                                    command=self._install)
        install_button.grid(row=6,
                            column=2,
                            columnspan=1,
                            sticky="e",
                            padx=ipadx,
                            pady=(0, epady))

        cancel_button = ttk.Button(self.main_frame,
                                   text="Close",
                                   command=self._close)
        cancel_button.grid(row=6,
                           column=3,
                           columnspan=1,
                           sticky="e",
                           padx=(0, epadx),
                           pady=(0, epady))

        self._reload_ports()
Esempio n. 27
0
    def __init__(self, MainWin):
        """Inits Tkinter window of GridGUI."""
        
        self.root = MainWin
        #MainWin.geometry("800x600") #You want the size of the app to be 500x500
        MainWin.geometry( '+10+30' )
        
        try:
            style = Style(self.root)
            if "win" == platform[:3]:
                style.theme_use('vista')
            elif "darwin" in platform:
                style.theme_use('clam')
            else:
                style.theme_use('clam')
            bg = style.lookup("TLabel", "background")
            self.root.configure(bg=bg)
        except:
            print("OOPS... failed to set style.theme_use... Let's press on.")
        
        self.MainWin = MainWin
        
        MainWin.protocol('WM_DELETE_WINDOW', self.cleanupOnQuit)
        MainWin.allow_subWindows_to_close = 0
        
        self.add_menu_to_MainWin()
        
        topFrame = Frame( MainWin ) # frame for controls
        #topFrame = tx.ScrolledWindow( MainWin )
        
        frame1 = LabelFrame(topFrame, text="Widgets")
        self.place_widget_selection_listbox( frame1 )
        frame1.pack(anchor=NW, side=LEFT)
        
        frame2 = Frame( topFrame ) # frame for radio buttons
        self.place_gui_definition_controls( frame2, MainWin )
        frame2.pack(anchor=N, side=LEFT)

        self.grid_frame = Frame(topFrame) 
        self.grid_notebook = NotebookGridDes(self, self.grid_frame, MainWin, num_cols=5, num_rows=8)
        self.grid_frame.pack(anchor=N, side=LEFT)
                
        topFrame.pack(fill=BOTH, expand=Y)
        
        # make a Status Bar
        statframe = Frame(MainWin)
        MainWin.statusMessage = StringVar()
        MainWin.statusMessage.set('Welcome to TkGridGUI')
        self.statusbar = Label(statframe, textvariable=MainWin.statusMessage, 
            relief=SUNKEN, anchor=W)
        self.statusbar.pack(anchor=SW, fill=X, side=BOTTOM)
        statframe.pack(anchor=SW, fill=X, side=BOTTOM)
        
        # Initialize some GridGUI parameters
        
        self.current_fileFullName = '' # no file for now
        self.current_filePath = '' # no file for now
        self.current_fileName = '' # no file for now

        self.target_app = TargetTkAppDef( name='myApp')
        self.PreviewWin = None # need to initialize later
        
        self.Listbox_1_Click( 'FromInit' ) # execute selection logic

        
        self.in_reading_mode = False # when True, suppresses some automatic trace actions.
        if len( sys.argv ) == 2:
            fName = sys.argv[1]
            if fName.find('.')<0:
                fName += '.def'
                
            fullpath = os.path.abspath(fName)
            
            if os.path.isfile( fullpath ): # if file exists, read it as a definition file
                self.openFile( fName=fullpath )
            else:
                self.MainWin.statusMessage.set('file "%s" does not exist'%fName)
                
        self.grid_notebook.notebook.bind("<<NotebookTabChanged>>", self.tab_of_notebook_changed)

        self.mouse_location = ''
        self.MainWin.bind("<Enter>", self.onMainWindowEnter)
Esempio n. 28
0
    def populateInterface(self, parent):
        """
        populate the parent element with all SingleColor elements
        :param parent: the parent element of all subelements
        """
        """#################### HUE ####################"""
        self._LF_hue = LabelFrame(parent, text="H")
        self._LF_hue.grid(row=0, column=0, sticky=(E, W))

        self._SV_hue = StringVar(value="0")
        self._S_hue = Scale(self._LF_hue,
                            from_=0,
                            to=360,
                            orient=HORIZONTAL,
                            variable=self._SV_hue,
                            command=self._change_HSV)
        self._S_hue.grid(row=0, column=0, columnspan=2, sticky=E)

        self._SV_hueD = StringVar(value="60")
        self._S_hueD = Scale(self._LF_hue,
                             from_=0,
                             to=120,
                             orient=HORIZONTAL,
                             variable=self._SV_hueD)
        self._S_hueD.grid(row=1, column=0, columnspan=2, sticky=E)
        """#################### SATURATION ####################"""
        self._LF_saturation = LabelFrame(parent, text="S")
        self._LF_saturation.grid(row=1, column=0, sticky=(E, W))

        self._SV_saturation = StringVar(value="100")
        self._S_saturation = Scale(self._LF_saturation,
                                   from_=0,
                                   to=100,
                                   orient=HORIZONTAL,
                                   variable=self._SV_saturation,
                                   command=self._change_HSV)
        self._S_saturation.grid(row=0, column=0, columnspan=2, sticky=E)

        self._SV_saturationD = StringVar(value="0")
        self._S_saturationD = Scale(self._LF_saturation,
                                    from_=0,
                                    to=100,
                                    orient=HORIZONTAL,
                                    variable=self._SV_saturationD)
        self._S_saturationD.grid(row=1, column=0, columnspan=2, sticky=E)
        """#################### LUMINOSITY ####################"""
        self._LF_value = LabelFrame(parent, text="V")
        self._LF_value.grid(row=2, column=0, sticky=(E, W))

        self._SV_value = StringVar(value="100")
        self._S_value = Scale(self._LF_value,
                              from_=0,
                              to=100,
                              orient=HORIZONTAL,
                              variable=self._SV_value,
                              command=self._change_HSV)
        self._S_value.grid(row=0, column=0, columnspan=2, sticky=E)

        self._SV_valueD = StringVar(value="0")
        self._S_valueD = Scale(self._LF_value,
                               from_=0,
                               to=100,
                               orient=HORIZONTAL,
                               variable=self._SV_valueD)
        self._S_valueD.grid(row=1, column=0, columnspan=2, sticky=E)
        """#################### Speed ####################"""
        self._LF_SPEED = LabelFrame(parent, text="T")
        self._LF_SPEED.grid(row=3, column=0, sticky=(E, W))

        self._SV_SPEED = StringVar(value="60")
        self._S_SPEED = Scale(self._LF_SPEED,
                              from_=10,
                              to=500,
                              orient=HORIZONTAL,
                              variable=self._SV_SPEED)
        self._S_SPEED.grid(row=0, column=0, columnspan=2, sticky=E)

        self._B_SPEED_Reset = Button(self._LF_SPEED,
                                     command=self.resetSpeed,
                                     text="Reset speed")
        self._B_SPEED_Reset.grid(row=1, column=0, sticky=E)
        """#################### Interpolation ####################"""
        self._LF_INTERPO = LabelFrame(parent, text="I")
        self._LF_INTERPO.grid(row=4, column=0, sticky=(E, W))

        self._SV_INTERPO = StringVar(value="100")
        self._S_INTERPO = Scale(self._LF_INTERPO,
                                from_=10,
                                to=100,
                                orient=HORIZONTAL,
                                variable=self._SV_INTERPO)
        self._S_INTERPO.grid(row=0, column=0, columnspan=2, sticky=E)
Esempio n. 29
0
    def __init__(self, prepare_json_tab, main_dir, root):

        self.reg_font = ('Times', '12')
        self.main_dir = main_dir
        self.root = root
        self.a = IntVar()
        self.v_or_chv = IntVar()
        self.intf_or_sbl = StringVar(value='sbl')

        # frames
        self.prepare_json_frame = Frame(prepare_json_tab)
        self.prepare_json_frame.pack(fill=BOTH, expand=1)

        Grid.rowconfigure(self.prepare_json_frame, 0, weight=1)
        Grid.rowconfigure(self.prepare_json_frame, 1, weight=1)
        Grid.rowconfigure(self.prepare_json_frame, 2, weight=1)
        Grid.columnconfigure(self.prepare_json_frame, 0, weight=1)
        Grid.columnconfigure(self.prepare_json_frame, 1, weight=1)
        Grid.columnconfigure(self.prepare_json_frame, 2, weight=1)
        Grid.columnconfigure(self.prepare_json_frame, 3, weight=1)

        self.all_or_range_frame = LabelFrame(self.prepare_json_frame,
                                             text='Prepare: ',
                                             font=self.reg_font)
        self.all_or_range_frame.grid(row=0,
                                     column=0,
                                     pady=20,
                                     padx=20,
                                     columnspan=4,
                                     sticky=EW)

        self.ref_format_frame = LabelFrame(self.prepare_json_frame,
                                           text='Reference Format',
                                           font=self.reg_font)
        self.ref_format_frame.grid(row=1,
                                   column=0,
                                   pady=20,
                                   padx=20,
                                   columnspan=4,
                                   sticky=EW)

        self.buttons_frame = Frame(self.prepare_json_frame)
        self.buttons_frame.grid(row=2,
                                column=0,
                                pady=20,
                                padx=20,
                                columnspan=4,
                                sticky=EW)

        # all_or_range_frame
        self.range_rb1 = Radiobutton(self.all_or_range_frame,
                                     text='All verses in file',
                                     variable=self.a,
                                     width=15,
                                     value=1,
                                     font=self.reg_font,
                                     anchor=W)
        self.range_rb1.grid(row=0, column=0)
        self.range_rb2 = Radiobutton(self.all_or_range_frame,
                                     text='Range',
                                     variable=self.a,
                                     width=15,
                                     value=2,
                                     font=self.reg_font,
                                     anchor=W)
        self.range_rb2.grid(row=1, column=0)
        self.range_rb3 = Radiobutton(self.all_or_range_frame,
                                     text='Auto',
                                     variable=self.a,
                                     width=15,
                                     value=3,
                                     font=self.reg_font,
                                     anchor=W,
                                     state=DISABLED)
        self.range_rb3.grid(row=2, column=0)

        self.from_label = Label(self.all_or_range_frame,
                                text='from:',
                                font=self.reg_font)
        self.from_label.grid(row=1, column=1)

        self.range_from_entry = Entry(self.all_or_range_frame,
                                      font=self.reg_font,
                                      width=10)
        self.range_from_entry.grid(row=1, column=2, pady=10)

        self.to_label = Label(self.all_or_range_frame,
                              text='to:',
                              font=self.reg_font)
        self.to_label.grid(row=1, column=3, padx=25, pady=10)

        self.range_to_entry = Entry(self.all_or_range_frame,
                                    font=self.reg_font,
                                    width=10)
        self.range_to_entry.grid(row=1, column=4, padx=10, pady=10)

        self.auto_label = Label(self.all_or_range_frame,
                                text='unit:',
                                font=self.reg_font)
        self.auto_label.grid(row=2, column=1, pady=10, padx=10)

        self.auto_unit_entry = Entry(self.all_or_range_frame,
                                     font=self.reg_font,
                                     width=10,
                                     state=DISABLED)
        self.auto_unit_entry.grid(row=2, column=2, pady=10, padx=10)

        # ref_format frame
        self.vrs_rb = Radiobutton(self.ref_format_frame,
                                  text='verse',
                                  variable=self.v_or_chv,
                                  width=15,
                                  value=1,
                                  font=self.reg_font,
                                  anchor=W)
        self.vrs_rb.grid(row=0, column=0)

        self.vrs_chp_rb = Radiobutton(self.ref_format_frame,
                                      text='chapter:verse',
                                      variable=self.v_or_chv,
                                      width=15,
                                      value=2,
                                      font=self.reg_font,
                                      anchor=W)
        self.vrs_chp_rb.grid(row=1, column=0, pady=10)

        self.xml_input = Radiobutton(self.ref_format_frame,
                                     text='TEI XML',
                                     font=self.reg_font,
                                     variable=self.v_or_chv,
                                     value=3,
                                     anchor=W)
        self.xml_input.grid(row=2, column=0, pady=10, sticky=W)

        self.chapter_label = Label(self.ref_format_frame,
                                   text='book and chapter or pericope:',
                                   font=self.reg_font)
        self.chapter_label.grid(row=0, column=1, pady=10, padx=10)

        self.chapter_entry = Entry(self.ref_format_frame,
                                   font=self.reg_font,
                                   width=10)
        self.chapter_entry.grid(row=0, column=2, pady=10, padx=10)

        self.chapter_example_label = Label(self.ref_format_frame,
                                           text='e.g. Rom13 or Rom1.1-8\n\
the style of abbreviation is not important')
        self.chapter_example_label.grid(row=0, column=3, pady=10, padx=10)

        # bottom
        self.siglum_label = Label(self.buttons_frame,
                                  text='siglum:',
                                  font=self.reg_font)
        self.siglum_label.grid(
            row=0,
            column=0,
            padx=10,
        )

        self.siglum_entry = Entry(self.buttons_frame,
                                  font=self.reg_font,
                                  width=10)
        self.siglum_entry.grid(row=0, column=1, padx=20, pady=10)

        self.prepare_json_button = Button(self.buttons_frame,
                                          text='Prepare JSON Files',
                                          font=self.reg_font,
                                          command=self.get_text_to_prepare)
        self.prepare_json_button.grid(row=0, column=3, padx=20, pady=10)

        self.output_label = Label(self.buttons_frame,
                                  text='File output name format:',
                                  font=self.reg_font)
        self.output_label.grid(row=0, column=4, padx=20, pady=10)

        self.intf_rb = Radiobutton(self.buttons_frame,
                                   text='INTF/IGNTP',
                                   font=self.reg_font,
                                   variable=self.intf_or_sbl,
                                   value='intf')
        self.intf_rb.grid(row=0, column=5, padx=20)

        self.sbl_rb = Radiobutton(self.buttons_frame,
                                  text='SBL',
                                  font=self.reg_font,
                                  variable=self.intf_or_sbl,
                                  value='sbl')
        self.sbl_rb.grid(row=0, column=6)
Esempio n. 30
0
    def put_native_widget_into_pw_frame(self):

        cobj = self.cobj

        if cobj.widget_type == 'Notebook':

            self.native_widget = Notebook(self.pw_frame, width=400, height=300)
            #self.native_widget.bind("<<NotebookTabChanged>>", self.tab_of_notebook_changed)
            self.native_widget.bind("<ButtonRelease-1>",
                                    self.tab_of_notebook_clicked)

            tab_label_str = cobj.user_tkOptionD.get('tab_labels',
                                                    'Pine\nBirch\nCherry')
            tab_labelL = tab_label_str.split('\n')

            # First tab is just to identify Notebook_xxx
            #tab_frame = Frame( self.native_widget )
            #self.native_widget.add(tab_frame, text=cobj.widget_name)

            self.tab_frameL = [
            ]  # list of Frame objects used as tabs for Notebook

            # add desired tabs after that
            for tab_str in tab_labelL:
                tab_frame = Frame(self.native_widget)
                self.native_widget.add(tab_frame, text=tab_str)

                # save Frame objects to put Tab widgets onto.
                self.tab_frameL.append(tab_frame)

        elif cobj.widget_type == 'Frame':
            self.native_widget = Frame(self.pw_frame, bd=2, relief=GROOVE)

        elif cobj.widget_type == 'Spinbox':
            self.native_widget = Spinbox(self.pw_frame, from_=0, to=100)

        elif cobj.widget_type == 'Treeview':
            self.native_widget = Treeview(self.pw_frame)
            tree = self.native_widget
            # Inserted at the root, program chooses id:
            tree.insert('', 'end', 'widgets', text='Widget Tour')

            # Same thing, but inserted as first child:
            tree.insert('', 0, 'gallery', text=cobj.widget_name)

            # Treeview chooses the id:
            id = tree.insert('', 'end', text='Tutorial')

            # Inserted underneath an existing node:
            for tree_widget in sorted(tkWidgetsD.keys()):
                tree.insert('widgets', 'end', text=tree_widget)
            tree.insert(id, 'end', text='Tree')

        elif cobj.widget_type in ['RadioGroup', 'LabelFrame']:
            self.native_widget = LabelFrame(self.pw_frame,
                                            text=cobj.widget_name)

        elif cobj.widget_type == "Canvas":
            self.native_widget = Canvas(self.pw_frame)
            w = int(cobj.user_tkOptionD['width'])
            h = int(cobj.user_tkOptionD['height'])
            #self.native_widget.create_rectangle((2, 2, w-1, h-1), outline="blue")
            self.native_widget.config(bg='#aaffaa')
            self.native_widget.create_text(w // 2,
                                           h // 2,
                                           text=cobj.widget_name,
                                           fill="black",
                                           width=w,
                                           anchor='center')

        elif cobj.tkvar is None:
            # has no tk variable, so don't worry about it
            self.native_widget = tkWidgetsD[cobj.widget_type](self.pw_frame)

        # ============ The following all have tk variable controllers. ===============
        else:  # e.g. StringVar
            # 'Entry' 'OptionMenu' 'Combobox' 'Checkbutton' 'Radiobutton' 'Scale'
            if cobj.widget_type == 'Entry':
                self.native_widget = Entry(self.pw_frame,
                                           textvariable=cobj.tkvar)

            elif cobj.widget_type == 'OptionMenu':
                self.native_widget = OptionMenu(self.pw_frame, cobj.tkvar,
                                                "one", "two", "three", "four")
                cobj.tkvar.set("two")

            elif cobj.widget_type == 'Combobox':
                self.native_widget = Combobox(self.pw_frame,
                                              textvariable=cobj.tkvar)
                self.native_widget['values'] = ('X', 'Y', 'Z')
                self.native_widget.current(0)

            elif cobj.widget_type == 'Checkbutton':
                self.native_widget = Checkbutton(self.pw_frame,
                                                 variable=cobj.tkvar,
                                                 onvalue="yes",
                                                 offvalue="no")
                cobj.tkvar.set("yes")

            elif cobj.widget_type == 'Menubutton':
                self.native_widget = Menubutton(self.pw_frame,
                                                text=cobj.widget_name,
                                                relief=GROOVE)
                self.native_widget.menu = Menu(self.native_widget, tearoff=0)
                self.native_widget["menu"] = self.native_widget.menu
                for i, tkvar in enumerate(cobj.tkvar_list):
                    self.native_widget.menu.add_checkbutton(label="option %i" %
                                                            (i + 1, ),
                                                            variable=tkvar)

            elif cobj.widget_type == 'Radiobutton':

                if cobj.tab_label.startswith("RadioGroup"):
                    tkvar = cobj.target_app.compObjD[cobj.tab_label].tkvar
                    self.native_widget = Radiobutton(self.pw_frame,
                                                     variable=tkvar,
                                                     value=cobj.widget_name)
                    #print(cobj.widget_name,' is part of ',cobj.tab_label)
                    self.native_widget.select()
                else:
                    self.native_widget = Radiobutton(self.pw_frame,
                                                     variable=cobj.tkvar,
                                                     value=cobj.widget_name)
                    #print(cobj.widget_name,' is an isolated radio button')

            elif cobj.widget_type == 'Scale':
                self.native_widget = Scale(self.pw_frame,
                                           variable=cobj.tkvar,
                                           from_=0,
                                           to=100)

            else:
                print("WARNING... ignoring tk variable for ", cobj.widget_name)
                self.native_widget = tkWidgetsD[cobj.widget_type](
                    self.pw_frame)

        self.has_y_scroll = False  # might get set in self.set_native_widget_attr()
        self.has_x_scroll = False  # might get set in self.set_native_widget_attr()
        self.vbar = False  # might get set in self.set_native_widget_attr()
        self.hbar = False  # might get set in self.set_native_widget_attr()

        if cobj.widget_type in ('Treeview', ):
            self.tooltip = CreateToolTip(
                self.pw_frame,
                text=cobj.widget_name,
                background=CONTROL_COLOR_D[cobj.widget_type])
        else:
            self.tooltip = CreateToolTip(
                self.native_widget,
                text=cobj.widget_name,
                background=CONTROL_COLOR_D[cobj.widget_type])

        #self.native_widget.pack(side=LEFT,expand=True,fill=BOTH)
        self.native_widget.grid(row=0, column=0)

        cobj.default_tkOptionD = get_properties_dict(self.native_widget)
        #if 'from' in cobj.default_tkOptionD:
        #    cobj.default_tkOptionD['from_'] = cobj.default_tkOptionD['from']

        self.set_native_widget_attr()

        # bind to native_widget_clicked so the grid_notebook tab can be set
        if cobj.widget_type != 'Notebook':
            self.native_widget.bind("<ButtonRelease-1>",
                                    self.native_widget_clicked)