def initUI(self):
    # set default font size
    defaultFont = font.nametofont("TkDefaultFont")
    defaultFont.configure(family="helvetica", size=14)
    # create control widgets
    entryWidth=5
    controlFrame = ttk.Frame(self.parent)
    gaussianParameterFrame = ttk.Frame(controlFrame)
    gaussian1ParameterFrame = ttk.LabelFrame(gaussianParameterFrame, text='Gaussian 1')
    e = dict()
    e['p1W'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.p1, width=entryWidth, font=defaultFont)
    e['mu1xW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.mu1x, width=entryWidth, font=defaultFont)
    e['mu1yW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.mu1y, width=entryWidth, font=defaultFont)
    e['s1xW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1x, width=entryWidth, font=defaultFont)
    e['s1yW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1y, width=entryWidth, font=defaultFont)
    e['s1xyW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1xy, width=entryWidth, font=defaultFont)
    e['s1yxW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1xy, width=entryWidth, font=defaultFont)
    gaussian2ParameterFrame = ttk.LabelFrame(gaussianParameterFrame, text='Gaussian 2')
    e['p2W'] = ttk.Label(gaussian2ParameterFrame, text='1-P(y1)')
    e['mu2xW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.mu2x, width=entryWidth, font=defaultFont)
    e['mu2yW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.mu2y, width=entryWidth, font=defaultFont)
    e['s2xW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2x, width=entryWidth, font=defaultFont)
    e['s2yW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2y, width=entryWidth, font=defaultFont)
    e['s2xyW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2xy, width=entryWidth, font=defaultFont)
    e['s2yxW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2xy, width=entryWidth, font=defaultFont)
    drawingControlFrame = ttk.LabelFrame(controlFrame, text='Drawing')
    drawTypeW = ttk.Combobox(drawingControlFrame, textvariable=self.drawType, font=defaultFont, postcommand=self.redraw)
    drawTypeW['values'] = ('Decision Boundary', 'Posterior', 'Scaled Posterior difference', 'Log-likelihood ratio')
    drawPDFContourW = ttk.Checkbutton(drawingControlFrame, text="Draw PDF Contours", variable=self.drawPDFContour, command=self.redraw)
    zoomFrame = ttk.Frame(drawingControlFrame)
    zoomL = ttk.Label(zoomFrame, text='zoom')
    e['zoomW'] = ttk.Entry(zoomFrame, textvariable=self.zoom, width=entryWidth, font=defaultFont)
    #xlimFrame = ttk.Frame(drawingControlFrame)
    #xlimL = ttk.Label(xlimFrame, text='xlim')
    #e['xminW'] = ttk.Entry(xlimFrame, textvariable=self.xmin, width=entryWidth, font=defaultFont)
    #e['xmaxW'] = ttk.Entry(xlimFrame, textvariable=self.xmax, width=entryWidth, font=defaultFont)
    #ylimFrame = ttk.Frame(drawingControlFrame)
    #ylimL = ttk.Label(ylimFrame, text='ylim')
    #e['yminW'] = ttk.Entry(ylimFrame, textvariable=self.ymin, width=entryWidth, font=defaultFont)
    #e['ymaxW'] = ttk.Entry(ylimFrame, textvariable=self.ymax, width=entryWidth, font=defaultFont)
    redrawButton = ttk.Button(drawingControlFrame, text="Redraw", command=self.redraw)
    aboutButton = ttk.Button(controlFrame, text="About...", command=self.about)
    resetButton = ttk.Button(controlFrame, text="Reset", command=self.set_defaults)
    # bindings
    for key in e.keys():
       e[key].bind('<Return>', self.redraw)
    drawTypeW.bind("<<ComboboxSelected>>", self.redraw)
    # place widgets within gaussian1ParameterFrame
    p1L = ttk.Label(gaussian1ParameterFrame, text='P(y1)')
    p1L.grid(row=0, column=0)
    e['p1W'].grid(row=0, column=1)
    mu1L = ttk.Label(gaussian1ParameterFrame, text='mean1')
    mu1L.grid(row=1, column=0, columnspan=2)
    e['mu1xW'].grid(row=2, column=0)
    e['mu1yW'].grid(row=2, column=1)
    s1L = ttk.Label(gaussian1ParameterFrame, text='cov1')
    s1L.grid(row=3, column=0, columnspan=2)
    e['s1xW'].grid(row=4, column=0)
    e['s1xyW'].grid(row=4, column=1)
    e['s1yxW'].grid(row=5, column=0)
    e['s1yW'].grid(row=5, column=1)
    # place widgets within gaussian2ParameterFrame
    p2L = ttk.Label(gaussian2ParameterFrame, text='P(y2) = 1-P(y1)')
    p2L.grid(row=0, column=0, columnspan=2)
    mu2L = ttk.Label(gaussian2ParameterFrame, text='mean2')
    mu2L.grid(row=1, column=0, columnspan=2)
    e['mu2xW'].grid(row=2, column=0)
    e['mu2yW'].grid(row=2, column=1)
    s2L = ttk.Label(gaussian2ParameterFrame, text='cov2')
    s2L.grid(row=3, column=0, columnspan=2)
    e['s2xW'].grid(row=4, column=0)
    e['s2xyW'].grid(row=4, column=1)
    e['s2yxW'].grid(row=5, column=0)
    e['s2yW'].grid(row=5, column=1)
    # place widgets within drawing frame
    drawTypeW.pack(side="top")
    drawPDFContourW.pack(side="top")
    zoomL.pack(side="left")
    e['zoomW'].pack(side="left")
    zoomFrame.pack(side="top")
    #xlimL.pack(side="left")
    #e['xminW'].pack(side="left")
    #e['xmaxW'].pack(side="left")
    #xlimFrame.pack(side="top")
    #ylimL.pack(side="left")
    #e['yminW'].pack(side="left")
    #e['ymaxW'].pack(side="left")
    #ylimFrame.pack(side="top")
    redrawButton.pack(side="top")
    # place Gaussian frames within gaussianParameterFrame
    gaussian1ParameterFrame.pack(side="left")
    gaussian2ParameterFrame.pack(side="left")
    # place gfame and drawing frame within controlFrame
    aboutButton.pack(side="top")
    resetButton.pack(side="top")
    gaussianParameterFrame.pack(side="top")
    drawingControlFrame.pack(side="top")
    controlFrame.pack(side="left")
    # define drawing frame
    drawingFrame = tk.Frame(self.parent)
    self.fig = plt.Figure()
    self.canvas = FigureCanvasTkAgg(self.fig, master=self.parent)
    #tkagg.NavigationToolbar2TkAgg(canvas, root)
    self.canvas.draw()
    self.canvas.get_tk_widget().pack(side='top', fill='both', expand=1)
    drawingFrame.pack()
    self.redraw()
Exemplo n.º 2
0
from tkinter import *
from tkinter import ttk


def calculate(*args):
    try:
        value = float(feet.get())
        meters.set((0.3048 * value * 10000.0 + 0.5) / 10000.0)
    except ValueError:
        pass


root = Tk()
root.title("Pies a metros")

mainframe = ttk.Frame(root, padding="30 12 30 12")
mainframe.grid()
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

mainframe = ttk.Frame(root, padding="30 12 30 12")
mainframe.grid()
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

feet = StringVar()
meters = StringVar()

feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)

feet_entry.grid(column=2, row=1, sticky=(W, E))
Exemplo n.º 3
0
    def _create_toolbar(self):
        toolbar = ttk.Frame(self, style="ViewToolbar.TFrame")

        self.title_label = ttk.Label(
            toolbar,
            style="ViewToolbar.TLabel",
            text=""
            # borderwidth=1,
            # background=ui_utils.get_main_background()
        )
        self.title_label.grid(row=0, column=3, sticky="nsew", pady=5, padx=5)
        toolbar.columnconfigure(3, weight=1)

        self.tabs = []

        def create_tab(col, caption, page):
            if page == self.active_page:
                style = "Active.ViewTab.TLabel"
            else:
                style = "Inactive.ViewTab.TLabel"
            tab = ttk.Label(toolbar, text=caption, style=style)
            tab.grid(row=0, column=col, pady=5, padx=5, sticky="nsew")
            self.tabs.append(tab)
            page.tab = tab

            def on_click(event):
                if self.active_page == page:
                    return
                else:
                    if self.active_page is not None:
                        self.active_page.grid_forget()
                        self.active_page.tab.configure(
                            style="Inactive.ViewTab.TLabel")

                    self.active_page = page
                    page.grid(row=1, column=0, sticky="nsew", padx=0)
                    tab.configure(style="Active.ViewTab.TLabel")
                    if self.active_page == self.attributes_page and (
                            self.object_info is None
                            or not self.object_info.get("attributes")):
                        self.request_object_info()

            tab.bind("<1>", on_click)

        # create_tab(1, "Overview", self.general_page)
        create_tab(5, "Data", self.content_page)
        create_tab(6, "Atts", self.attributes_page)

        def create_navigation_link(col,
                                   image_filename,
                                   action,
                                   tooltip,
                                   padx=0):
            button = ttk.Button(
                toolbar,
                # command=handler,
                image=get_workbench().get_image(image_filename),
                style=
                "ViewToolbar.Toolbutton",  # TODO: does this cause problems in some Macs?
                state=tk.NORMAL,
            )
            ui_utils.create_tooltip(button, tooltip)

            button.grid(row=0, column=col, sticky=tk.NE, padx=padx, pady=4)
            button.bind("<Button-1>", action)
            return button

        def configure(event):
            if event.width > 20:
                self.title_label.configure(wraplength=event.width - 10)

        self.title_label.bind("<Configure>", configure, True)

        self.back_button = create_navigation_link(1, "nav-backward",
                                                  self.navigate_back,
                                                  _("Previous object"), (5, 0))
        self.forward_button = create_navigation_link(2, "nav-forward",
                                                     self.navigate_forward,
                                                     _("Next object"))
        self.back_links = []
        self.forward_links = []

        return toolbar
Exemplo n.º 4
0
    arr_all_name.append(e3.get())
    # with open(dir_path + '/last.json', 'w', encoding='utf8') as json_f:
    #     json.dump(print_info(find_key(e1.get())), json_f, ensure_ascii=False)


master = Tk()
master.geometry("500x250")

rows = 0
while rows < 50:
    master.rowconfigure(rows, weight=1)
    master.columnconfigure(rows, weight=1)
    rows += 1
nb = ttk.Notebook(master)
nb.grid(row=1, column=0, columnspan=50, rowspan=49, sticky='NESW')
main_page = ttk.Frame(nb)
nb.add(main_page, text='Main')
page1 = ttk.Frame(nb)
nb.add(page1, text='Tab1')
page2 = ttk.Frame(nb)
nb.add(page2, text='Tab2')
m_l = Label(
    main_page,
    text=
    "To work with all files go to Tab1.\n\nTo work with the specified one go to Tab2"
)
m_l.config(font=("Courier", 14))
m_l.place(x=5, y=50)
b1 = Button(page1, text="Show_path", command=openfile)
b1.place(x=5, y=65)
b1.config(height=1, width=20)
Exemplo n.º 5
0
def main():
    global str_ip, str_port, str_com, str_stat, str_stat2, l_stat, l_stat2
    global f, com_on, khr_on, com_line, old_data

    com_line = [
        0x0D, 0x00, 0x02, 0x50, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x62
    ]
    old_data = 0

    w = tkinter.Tk()
    w.title("KHRサーバー")

    f = ttk.Frame(w, padding=10)
    f.pack()

    label5 = ttk.Label(f, text="ネットワーク")
    label5.grid(row=0, column=0)

    b_start = ttk.Button(f, text="受信開始", command=net_start)
    b_start.grid(row=0, column=1)

    b_end = ttk.Button(f, text="通信切断", command=net_end)
    b_end.grid(row=0, column=2)

    label6 = ttk.Label(f, text="KHR")
    label6.grid(row=1, column=0)

    b2_start = ttk.Button(f, text="接続開始", command=khr_start)
    b2_start.grid(row=1, column=1)

    b2_end = ttk.Button(f, text="接続終了", command=khr_end)
    b2_end.grid(row=1, column=2)

    label1 = ttk.Label(f, text="サーバーIPアドレス")
    label1.grid(row=2, column=0)

    str_ip = tkinter.StringVar()
    str_ip.set(socket.gethostbyname(socket.gethostname()))

    e_ip = ttk.Entry(f, textvariable=str_ip, state="readonly")
    e_ip.grid(row=2, column=1, columnspan=2)

    label2 = ttk.Label(f, text="ポート番号")
    label2.grid(row=3, column=0)

    str_port = tkinter.StringVar()
    str_port.set("54141")
    e_port = ttk.Entry(f, textvariable=str_port)
    e_port.grid(row=3, column=1, columnspan=2)

    label3 = ttk.Label(f, text="COM番号")
    label3.grid(row=4, column=0)

    str_com = tkinter.StringVar()
    str_com.set("COM5")
    e_com = ttk.Entry(f, textvariable=str_com)
    e_com.grid(row=4, column=1, columnspan=2)

    label4 = ttk.Label(f, text="ネットステータス")
    label4.grid(row=5, column=0)

    str_stat = tkinter.StringVar()
    str_stat.set("開始待ち")
    l_stat = ttk.Label(f, textvariable=str_stat)
    l_stat.grid(row=5, column=1, columnspan=2)

    label7 = ttk.Label(f, text="KHRステータス")
    label7.grid(row=6, column=0)

    str_stat2 = tkinter.StringVar()
    str_stat2.set("開始待ち")
    l_stat2 = ttk.Label(f, textvariable=str_stat2)
    l_stat2.grid(row=6, column=1, columnspan=2)

    com_on = False
    khr_on = False

    f.after(0, wait_data)
    f.mainloop()
Exemplo n.º 6
0
from tkinter import ttk
 
import platform
 
def quit():
    global tkTop
    tkTop.destroy()
 
tkTop = tk.Tk()
tkTop.geometry('500x300')
 
tkLabelTop = tk.Label(tkTop, text=" http://hello-python.blogspot.com ")
tkLabelTop.pack()
 
notebook = ttk.Notebook(tkTop)
frame1 = ttk.Frame(notebook)
frame2 = ttk.Frame(notebook)
notebook.add(frame1, text='Frame One')
notebook.add(frame2, text='Frame Two')
notebook.pack()
 
tkButtonQuit = tk.Button(
    tkTop,
    text="Quit",
    command=quit)
tkButtonQuit.pack()
  
tkDummyButton = tk.Button(
    frame1,
    text="Dummy Button")
tkDummyButton.pack()
Exemplo n.º 7
0
    fTyp = [("", "*")]
    iDir = os.path.abspath(os.path.dirname(__file__))
    filepath = filedialog.askopenfilename(filetypes=fTyp, initialdir=iDir)
    # 取得したファイルパスをボックスに出力する
    file_path.set(filepath)


if __name__ == '__main__':

    # ウィンドウを作成
    root = tkinter.Tk()
    root.title("hello world")  # アプリの名前
    root.geometry("500x300")  # アプリの画面サイズ

    # Frame1の作成
    frame1 = ttk.Frame(root, padding=10)
    frame1.grid()

    # 「ファイル」ラベルの作成
    s = StringVar()
    s.set('ファイル名:')
    label1 = ttk.Label(frame1, textvariable=s)
    label1.grid(row=0, column=0)

    # 参照ファイルのパスを表示するテキストボックスの作成
    file_path = StringVar()
    filepath_entry = ttk.Entry(frame1, textvariable=file_path, width=50)
    filepath_entry.grid(row=0, column=1)

    # 参照ボタンの作成
    refer_button = ttk.Button(root, text=u'参照', command=click_refer_button)
Exemplo n.º 8
0
    def create_widgets(self):
        toplevel_frame = ttk.Frame(self, padding='0.1i')

        (self.toolslist, selected_item) = self.get_tools_list()
        self.tools_frame = ttk.LabelFrame(toplevel_frame,
                                          text="{} Available Tools".format(
                                              len(self.toolslist)),
                                          padding='0.1i')
        self.toolnames = tk.StringVar(value=self.toolslist)
        self.tools_listbox = tk.Listbox(self.tools_frame,
                                        height=22,
                                        listvariable=self.toolnames)
        self.tools_listbox.bind("<<ListboxSelect>>", self.update_tool_help)
        self.tools_listbox.grid(row=0, column=0, sticky=tk.NSEW)
        self.tools_listbox.columnconfigure(0, weight=10)
        self.tools_listbox.rowconfigure(0, weight=1)
        s = ttk.Scrollbar(self.tools_frame,
                          orient=tk.VERTICAL,
                          command=self.tools_listbox.yview)
        s.grid(row=0, column=1, sticky=(tk.N, tk.S))
        self.tools_listbox['yscrollcommand'] = s.set
        self.tools_frame.grid(row=0, column=0, sticky=tk.NSEW)
        self.tools_frame.columnconfigure(0, weight=10)
        self.tools_frame.columnconfigure(1, weight=1)
        self.tools_frame.rowconfigure(0, weight=1)

        overall_frame = ttk.Frame(toplevel_frame, padding='0.1i')

        # json_str = '{"default_value": null, "description": "Directory containing data files.", "flags": ["--wd"], "name": "Working Directory", "optional": true, "parameter_type": "Directory"}'
        # self.wd = FileSelector(json_str, overall_frame)
        # self.wd.grid(row=0, column=0, sticky=tk.NSEW)

        current_tool_frame = ttk.Frame(overall_frame, padding='0.1i')
        self.current_tool_lbl = ttk.Label(
            current_tool_frame,
            text="Current Tool: {}".format(self.tool_name),
            justify=tk.LEFT)  # , font=("Helvetica", 12, "bold")
        self.current_tool_lbl.grid(row=0, column=0, sticky=tk.W)
        self.view_code_button = ttk.Button(current_tool_frame,
                                           text="View Code",
                                           width=12,
                                           command=self.view_code)
        self.view_code_button.grid(row=0, column=1, sticky=tk.E)
        current_tool_frame.grid(row=1, column=0, sticky=tk.NSEW)
        current_tool_frame.columnconfigure(0, weight=1)
        current_tool_frame.columnconfigure(1, weight=1)

        tool_args_frame = ttk.Frame(overall_frame, padding='0.0i')
        self.tool_args_frame = ttk.Frame(overall_frame, padding='0.0i')
        self.tool_args_frame.grid(row=2, column=0, sticky=tk.NSEW)
        self.tool_args_frame.columnconfigure(0, weight=1)

        # args_frame = ttk.Frame(overall_frame, padding='0.1i')
        # self.args_label = ttk.Label(args_frame, text="Tool Arguments:", justify=tk.LEFT)
        # self.args_label.grid(row=0, column=0, sticky=tk.W)
        # args_frame2 = ttk.Frame(args_frame, padding='0.0i')
        # self.args_value = tk.StringVar()
        # self.args_text = ttk.Entry(args_frame2, width=45, justify=tk.LEFT, textvariable=self.args_value)
        # self.args_text.grid(row=0, column=0, sticky=tk.NSEW)
        # self.args_text.columnconfigure(0, weight=1)
        # self.clearButton = ttk.Button(args_frame2, text="Clear", width=4, command=self.clear_args_box)
        # self.clearButton.pack(pady=10, padx=10)
        # self.clearButton.grid(row=0, column=1, sticky=tk.E)
        # self.clearButton.columnconfigure(0, weight=1)
        # args_frame2.grid(row=1, column=0, sticky=tk.NSEW)
        # args_frame2.columnconfigure(0, weight=10)
        # args_frame2.columnconfigure(1, weight=1)
        # args_frame.grid(row=2, column=0, sticky=tk.NSEW)
        # args_frame.columnconfigure(0, weight=1)

        # # Add the bindings
        # if _platform == "darwin":
        #     self.args_text.bind("<Command-Key-a>", self.args_select_all)
        # else:
        #     self.args_text.bind("<Control-Key-a>", self.args_select_all)

        buttonsFrame = ttk.Frame(overall_frame, padding='0.1i')
        self.run_button = ttk.Button(buttonsFrame,
                                     text="Run",
                                     width=8,
                                     command=self.run_tool)
        # self.run_button.pack(pady=10, padx=10)
        self.run_button.grid(row=0, column=0)
        self.quitButton = ttk.Button(buttonsFrame,
                                     text="Cancel",
                                     width=8,
                                     command=self.cancel_operation)
        self.quitButton.grid(row=0, column=1)
        buttonsFrame.grid(row=3, column=0, sticky=tk.E)

        output_frame = ttk.Frame(overall_frame, padding='0.1i')
        outlabel = ttk.Label(output_frame, text="Output:", justify=tk.LEFT)
        outlabel.grid(row=0, column=0, sticky=tk.NW)
        k = wbt.tool_help(self.tool_name)
        self.out_text = ScrolledText(output_frame,
                                     width=63,
                                     height=10,
                                     wrap=tk.NONE,
                                     padx=7,
                                     pady=7)
        self.out_text.insert(tk.END, k)
        self.out_text.grid(row=1, column=0, sticky=tk.NSEW)
        self.out_text.columnconfigure(0, weight=1)
        output_frame.grid(row=4, column=0, sticky=tk.NSEW)
        output_frame.columnconfigure(0, weight=1)

        # Add the binding
        if _platform == "darwin":
            self.out_text.bind("<Command-Key-a>", self.select_all)
            # self.out_text.bind("<Command-Key-A>", self.select_all)
        else:
            self.out_text.bind("<Control-Key-a>", self.select_all)

        progress_frame = ttk.Frame(overall_frame, padding='0.1i')
        self.progress_label = ttk.Label(progress_frame,
                                        text="Progress:",
                                        justify=tk.LEFT)
        self.progress_label.grid(row=0, column=0, sticky=tk.E, padx=5)
        self.progress_var = tk.DoubleVar()
        self.progress = ttk.Progressbar(progress_frame,
                                        orient="horizontal",
                                        variable=self.progress_var,
                                        length=200,
                                        maximum=100)
        self.progress.grid(row=0, column=1, sticky=tk.E)
        progress_frame.grid(row=5, column=0, sticky=tk.E)

        overall_frame.grid(row=0, column=1, sticky=tk.NSEW)

        overall_frame.columnconfigure(0, weight=1)
        toplevel_frame.columnconfigure(0, weight=1)
        toplevel_frame.columnconfigure(1, weight=4)
        # self.pack(fill=tk.BOTH, expand=1)
        # toplevel_frame.columnconfigure(0, weight=1)
        # toplevel_frame.rowconfigure(0, weight=1)

        toplevel_frame.grid(row=0, column=0, sticky=tk.NSEW)

        # Select the appropriate tool, if specified, otherwise the first tool
        self.tools_listbox.select_set(selected_item)
        self.tools_listbox.event_generate("<<ListboxSelect>>")
        self.tools_listbox.see(selected_item)

        menubar = tk.Menu(self)
        filemenu = tk.Menu(menubar, tearoff=0)
        filemenu.add_command(label="Set Working Directory",
                             command=self.set_directory)
        filemenu.add_command(label="Locate WhiteboxTools exe",
                             command=self.select_exe)
        filemenu.add_command(label="Refresh Tools", command=self.refresh_tools)
        filemenu.add_separator()
        filemenu.add_command(label="Exit", command=self.quit)
        menubar.add_cascade(label="File", menu=filemenu)

        editmenu = tk.Menu(menubar, tearoff=0)
        editmenu.add_command(
            label="Cut",
            command=lambda: self.focus_get().event_generate("<<Cut>>"))
        editmenu.add_command(
            label="Copy",
            command=lambda: self.focus_get().event_generate("<<Copy>>"))
        editmenu.add_command(
            label="Paste",
            command=lambda: self.focus_get().event_generate("<<Paste>>"))

        menubar.add_cascade(label="Edit ", menu=editmenu)

        helpmenu = tk.Menu(menubar, tearoff=0)
        helpmenu.add_command(label="About", command=self.help)

        helpmenu.add_command(label="License", command=self.license)

        menubar.add_cascade(label="Help ", menu=helpmenu)

        self.master.config(menu=menubar)
Exemplo n.º 9
0
root = tk.Tk()
root.title("Distance Converter")

metres_value = tk.StringVar()


def calculate_feet(*args):
    try:
        metres = float(metres_value.get())
        feet = metres * 3.28084
        print(f"{metres} metres is equal to {feet:.3f} feet.")
    except ValueError:
        pass


main = ttk.Frame(root, padding=(30, 15))
main.grid()

root.columnconfigure(0, weight=1)

# -- Widgets --

metres_label = ttk.Label(main, text="metres")
metres_input = ttk.Entry(main, width=10, textvariable=metres_value)
feet_label = ttk.Label(main, text="feet")
feet_display = ttk.Label(main, text="Feet shown here")
calc_button = ttk.Button(main, text="Calculate", command=calculate_feet)

# -- Layout --

metres_label.grid(column=0, row=0, sticky="W", padx=5, pady=5)
Exemplo n.º 10
0
    typeInfo.configure(text=eventType)
    widgetInfo.configure(text=eventWidget)
    charInfo.configure(text=eventChar)
    keySymInfo.configure(text=eventKeySym)
    keyCodeInfo.configure(text=eventKeyCode)


def shortcut(action):
    labelSpecial.configure(text=action)


# tkinter ======================================
root = Tk()

# create label grid to report generic key press info
labelFrame = ttk.Frame(root)
labelFrame.grid(row=0, column=0, columnspan=5)

typeLabel = ttk.Label(labelFrame, text='TYPE  ')
widgetLabel = ttk.Label(labelFrame, text='WIDGET  ')
charLabel = ttk.Label(labelFrame, text='CHAR  ')
keySymLabel = ttk.Label(labelFrame, text='KEYSYM  ')
keyCodeLabel = ttk.Label(labelFrame, text='KEYCODE  ')

typeLabel.grid(row=0, column=0)
widgetLabel.grid(row=0, column=1)
charLabel.grid(row=0, column=2)
keySymLabel.grid(row=0, column=3)
keyCodeLabel.grid(row=0, column=4)

typeInfo = ttk.Label(labelFrame, text='      ')
Exemplo n.º 11
0
    def __init__(self, json_str, runner, master=None):
        # first make sure that the json data has the correct fields
        j = json.loads(json_str)
        self.name = j['name']
        self.description = j['description']
        self.flag = j['flags'][len(j['flags']) - 1]
        self.parameter_type = j['parameter_type']
        self.file_type = j['parameter_type']['ExistingFileOrFloat']
        self.optional = j['optional']
        default_value = j['default_value']

        self.runner = runner

        ttk.Frame.__init__(self, master)
        self.grid()
        self['padding'] = '0.1i'

        self.label = ttk.Label(self, text=self.name, justify=tk.LEFT)
        self.label.grid(row=0, column=0, sticky=tk.W)
        self.label.columnconfigure(0, weight=1)

        if not self.optional:
            self.label['text'] = self.label['text'] + "*"

        fs_frame = ttk.Frame(self, padding='0.0i')
        self.value = tk.StringVar()
        self.entry = ttk.Entry(fs_frame,
                               width=35,
                               justify=tk.LEFT,
                               textvariable=self.value)
        self.entry.grid(row=0, column=0, sticky=tk.NSEW)
        self.entry.columnconfigure(0, weight=1)
        if default_value:
            self.value.set(default_value)

        # self.img = tk.PhotoImage(file=script_dir + "/img/open.gif")
        # self.open_button = ttk.Button(fs_frame, width=55, image=self.img, command=self.select_dir)
        self.open_button = ttk.Button(fs_frame,
                                      width=4,
                                      text="...",
                                      command=self.select_file)
        self.open_button.grid(row=0, column=1, sticky=tk.E)
        # self.open_button.columnconfigure(0, weight=1)

        self.label = ttk.Label(fs_frame, text='OR', justify=tk.LEFT)
        self.label.grid(row=0, column=2, sticky=tk.W)
        # self.label.columnconfigure(0, weight=1)

        self.value2 = tk.StringVar()
        self.entry2 = ttk.Entry(fs_frame,
                                width=10,
                                justify=tk.LEFT,
                                textvariable=self.value2)
        self.entry2.grid(row=0, column=3, sticky=tk.NSEW)
        self.entry2.columnconfigure(0, weight=1)
        self.entry2['justify'] = 'right'

        fs_frame.grid(row=1, column=0, sticky=tk.NSEW)
        fs_frame.columnconfigure(0, weight=10)
        fs_frame.columnconfigure(1, weight=1)
        # self.pack(fill=tk.BOTH, expand=1)
        self.columnconfigure(0, weight=1)
        self.rowconfigure(0, weight=1)
        self.rowconfigure(1, weight=1)

        # Add the bindings
        if _platform == "darwin":
            self.entry.bind("<Command-Key-a>", self.select_all)
        else:
            self.entry.bind("<Control-Key-a>", self.select_all)
Exemplo n.º 12
0
                startangle=140)
        plt.axis('equal')
        plt.show()
    else:
        okno.geometry("670x440")
        lista.grid(row=1, stick=W)
        lista.delete(0.0, END)
        lista.insert(END, 'Przeprowadź najpierw sprawdzanie')
    return


if __name__ == "__main__":
    okno = tkinter.Tk()
    okno.title("Program Ping")
    okno.geometry("650x80")
    ramka = ttk.Frame(okno, padding=(10, 10, 10, 10))
    zrodlo = tkinter.Entry(ramka, width=104)
    wersja = tkinter.Label(ramka, text="IpCheck ver. 0.6.5 ALPHA")
    lista = tkinter.Text(ramka)
    menubar = Menu(okno)
    filemenu = Menu(menubar, tearoff=0)
    editmenu = Menu(menubar, tearoff=0)
    filemenu.add_command(label="Wczytaj plik", command=przypisz)
    filemenu.add_command(label="Zapisz wynik", command=zapisz)
    filemenu.add_command(label="Zamknij", command=koniec)
    editmenu.add_command(label="Sprawdź", command=sprawdz)
    editmenu.add_command(label="Rysuj wykres", command=wykres)
    menubar.add_cascade(label="Plik", menu=filemenu)
    menubar.add_cascade(label="Opcje", menu=editmenu)
    okno.config(menu=menubar)
    zrodlo.grid(row=0, column=0, stick=W + E)
Exemplo n.º 13
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # images
        self.img_properties_d = tkinter.PhotoImage(name='properties-dark', file='assets/icons8_settings_24px.png')
        self.img_properties_l = tkinter.PhotoImage(name='properties-light', file='assets/icons8_settings_24px_2.png')
        self.img_addtobackup_d = tkinter.PhotoImage(name='add-to-backup-dark', file='assets/icons8_add_folder_24px.png')
        self.img_addtobackup_l = tkinter.PhotoImage(name='add-to-backup-light', file='assets/icons8_add_book_24px.png')
        self.img_stopbackup_d = tkinter.PhotoImage(name='stop-backup-dark', file='assets/icons8_cancel_24px.png')
        self.img_stopbackup_l = tkinter.PhotoImage(name='stop-backup-light', file='assets/icons8_cancel_24px_1.png')
        self.img_play = tkinter.PhotoImage(name='play', file='assets/icons8_play_24px_1.png')
        self.img_refresh = tkinter.PhotoImage(name='refresh', file='assets/icons8_refresh_24px_1.png')
        self.img_stop_d = tkinter.PhotoImage(name='stop-dark', file='assets/icons8_stop_24px.png')
        self.img_stop_l = tkinter.PhotoImage(name='stop-light', file='assets/icons8_stop_24px_1.png')
        self.img_opened_folder = tkinter.PhotoImage(name='opened-folder', file='assets/icons8_opened_folder_24px.png')
        self.img_logo = tkinter.PhotoImage(name='logo', file='assets/backup.png')

        # ----- buttonbar
        buttonbar = ttk.Frame(self, style='primary.TFrame')
        buttonbar.pack(fill='x', pady=1, side='top')

        ## new backup
        bb_new_backup_btn = ttk.Button(buttonbar, text='New backup set', image='add-to-backup-light', compound='left')
        bb_new_backup_btn.configure(command=lambda: showinfo(message='Adding new backup'))
        bb_new_backup_btn.pack(side='left', ipadx=5, ipady=5, padx=(1, 0), pady=1)

        ## backup
        bb_backup_btn = ttk.Button(buttonbar, text='Backup', image='play', compound='left')
        bb_backup_btn.configure(command=lambda: showinfo(message='Backing up...'))
        bb_backup_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1)

        ## refresh
        bb_refresh_btn = ttk.Button(buttonbar, text='Refresh', image='refresh', compound='left')
        bb_refresh_btn.configure(command=lambda: showinfo(message='Refreshing...'))
        bb_refresh_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1)

        ## stop
        bb_stop_btn = ttk.Button(buttonbar, text='Stop', image='stop-light', compound='left')
        bb_stop_btn.configure(command=lambda: showinfo(message='Stopping backup.'))
        bb_stop_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1)

        ## settings
        bb_settings_btn = ttk.Button(buttonbar, text='Settings', image='properties-light', compound='left')
        bb_settings_btn.configure(command=lambda: showinfo(message='Changing settings'))
        bb_settings_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1)

        # ----- left panel
        left_panel = ttk.Frame(self, style='bg.TFrame')
        left_panel.pack(side='left', fill='y')

        ## ----- backup summary (collapsible)
        bus_cf = CollapsingFrame(left_panel)
        bus_cf.pack(fill='x', pady=1)

        ## container
        bus_frm = ttk.Frame(bus_cf, padding=5)
        bus_frm.columnconfigure(1, weight=1)
        bus_cf.add(bus_frm, title='Backup Summary', style='secondary.TButton')

        ## destination
        ttk.Label(bus_frm, text='Destination:').grid(row=0, column=0, sticky='w', pady=2)
        ttk.Label(bus_frm, textvariable='destination').grid(row=0, column=1, sticky='ew', padx=5, pady=2)
        self.setvar('destination', 'd:/test/')

        ## last run
        ttk.Label(bus_frm, text='Last Run:').grid(row=1, column=0, sticky='w', pady=2)
        ttk.Label(bus_frm, textvariable='lastrun').grid(row=1, column=1, sticky='ew', padx=5, pady=2)
        self.setvar('lastrun', '14.06.2021 19:34:43')

        ## files Identical
        ttk.Label(bus_frm, text='Files Identical:').grid(row=2, column=0, sticky='w', pady=2)
        ttk.Label(bus_frm, textvariable='filesidentical').grid(row=2, column=1, sticky='ew', padx=5, pady=2)
        self.setvar('filesidentical', '15%')

        ## section separator
        bus_sep = ttk.Separator(bus_frm, style='secondary.Horizontal.TSeparator')
        bus_sep.grid(row=3, column=0, columnspan=2, pady=10, sticky='ew')

        ## properties button
        bus_prop_btn = ttk.Button(bus_frm, text='Properties', image='properties-dark', compound='left')
        bus_prop_btn.configure(command=lambda: showinfo(message='Changing properties'), style='Link.TButton')
        bus_prop_btn.grid(row=4, column=0, columnspan=2, sticky='w')

        ## add to backup button
        bus_add_btn = ttk.Button(bus_frm, text='Add to backup', image='add-to-backup-dark', compound='left')
        bus_add_btn.configure(command=lambda: showinfo(message='Adding to backup'), style='Link.TButton')
        bus_add_btn.grid(row=5, column=0, columnspan=2, sticky='w')

        # ----- backup status (collapsible)
        status_cf = CollapsingFrame(left_panel)
        status_cf.pack(fill='x', pady=1)

        ## container
        status_frm = ttk.Frame(status_cf, padding=10)
        status_frm.columnconfigure(1, weight=1)
        status_cf.add(status_frm, title='Backup Status', style='secondary.TButton')

        ## progress message
        status_prog_lbl = ttk.Label(status_frm, textvariable='prog-message', font='Helvetica 10 bold')
        status_prog_lbl.grid(row=0, column=0, columnspan=2, sticky='w')
        self.setvar('prog-message', 'Backing up...')

        ## progress bar
        status_prog = ttk.Progressbar(status_frm, variable='prog-value', style='success.Horizontal.TProgressbar')
        status_prog.grid(row=1, column=0, columnspan=2, sticky='ew', pady=(10, 5))
        self.setvar('prog-value', 71)

        ## time started
        ttk.Label(status_frm, textvariable='prog-time-started').grid(row=2, column=0, columnspan=2, sticky='ew', pady=2)
        self.setvar('prog-time-started', 'Started at: 14.06.2021 19:34:56')

        ## time elapsed
        ttk.Label(status_frm, textvariable='prog-time-elapsed').grid(row=3, column=0, columnspan=2, sticky='ew', pady=2)
        self.setvar('prog-time-elapsed', 'Elapsed: 1 sec')

        ## time remaining
        ttk.Label(status_frm, textvariable='prog-time-left').grid(row=4, column=0, columnspan=2, sticky='ew', pady=2)
        self.setvar('prog-time-left', 'Left: 0 sec')

        ## section separator
        status_sep = ttk.Separator(status_frm, style='secondary.Horizontal.TSeparator')
        status_sep.grid(row=5, column=0, columnspan=2, pady=10, sticky='ew')

        ## stop button
        status_stop_btn = ttk.Button(status_frm, text='Stop', image='stop-backup-dark', compound='left')
        status_stop_btn.configure(command=lambda: showinfo(message='Stopping backup'), style='Link.TButton')
        status_stop_btn.grid(row=6, column=0, columnspan=2, sticky='w')

        ## section separator
        status_sep = ttk.Separator(status_frm, style='secondary.Horizontal.TSeparator')
        status_sep.grid(row=7, column=0, columnspan=2, pady=10, sticky='ew')

        # current file message
        ttk.Label(status_frm, textvariable='current-file-msg').grid(row=8, column=0, columnspan=2, pady=2, sticky='ew')
        self.setvar('current-file-msg', 'Uploading file: d:/test/settings.txt')

        # logo
        ttk.Label(left_panel, image='logo', style='bg.TLabel').pack(side='bottom')

        # ---- right panel
        right_panel = ttk.Frame(self, padding=(2, 1))
        right_panel.pack(side='right', fill='both', expand='yes')

        ## file input
        browse_frm = ttk.Frame(right_panel)
        browse_frm.pack(side='top', fill='x', padx=2, pady=1)
        file_entry = ttk.Entry(browse_frm, textvariable='folder-path')
        file_entry.pack(side='left', fill='x', expand='yes')
        open_btn = ttk.Button(browse_frm, image='opened-folder', style='secondary.Link.TButton',
                              command=self.get_directory)
        open_btn.pack(side='right')

        ## Treeview
        tv = ttk.Treeview(right_panel, show='headings')
        tv['columns'] = ('name', 'state', 'last-modified', 'last-run-time', 'size')
        tv.column('name', width=150, stretch=True)
        for col in ['last-modified', 'last-run-time', 'size']:
            tv.column(col, stretch=False)
        for col in tv['columns']:
            tv.heading(col, text=col.title(), anchor='w')
        tv.pack(fill='x', pady=1)

        ## scrolling text output
        scroll_cf = CollapsingFrame(right_panel)
        scroll_cf.pack(fill='both', pady=1)
        output_container = ttk.Frame(scroll_cf, padding=1)
        self.setvar('scroll-message', 'Log: Backing up... [Uploading file: D:/sample_file_35.txt]')
        st = ScrolledText(output_container)
        st.pack(fill='both', expand='yes')
        scroll_cf.add(output_container, textvariable='scroll-message')

        # ----- seed with some sample data -----------------------------------------------------------------------------

        ## starting sample directory
        file_entry.insert('end', 'D:/text/myfiles/top-secret/samples/')

        ## treeview and backup logs
        for x in range(20, 35):
            result = choices(['Backup Up', 'Missed in Destination'])[0]
            st.insert('end', f'19:34:{x}\t\t Uploading file: D:/text/myfiles/top-secret/samples/sample_file_{x}.txt\n')
            st.insert('end', f'19:34:{x}\t\t Upload {result}.\n')
            timestamp = datetime.now().strftime('%d.%m.%Y %H:%M:%S')
            tv.insert('', 'end', x, values=(f'sample_file_{x}.txt', result, timestamp, timestamp, f'{int(x // 3)} MB'))
        tv.selection_set(20)
Exemplo n.º 14
0
    def __init__(self, ventana):
        self.__ventana = ventana

        #tamaño de la ventana
        self.__ventana.geometry("400x200")

        #titulo de la ventana
        self.__ventana.title("Organizador de pedidos")
        self.__notebook = ttk.Notebook(self.__ventana, width=400, height=100)

        #pestaña agregar
        self.__agregar = ttk.Frame(self.__notebook)
        self.__notebook.add(self.__agregar, text="Agregar")

        #pestaña eliminar
        self.__eliminar = ttk.Frame(self.__notebook)
        self.__notebook.add(self.__eliminar, text="Eliminar")

        #pestaña buscar
        self.__buscar = ttk.Frame(self.__notebook)
        self.__notebook.add(self.__buscar, text="Buscar")

        #pestaña pedidos de hoy
        self.__pedidosDeHoy = ttk.Frame(self.__notebook)
        self.__notebook.add(self.__pedidosDeHoy, text="Pedidos de Hoy")

        #pestaña proximos pedidos
        self.__proximosPedidos = ttk.Frame(self.__notebook)
        self.__notebook.add(self.__proximosPedidos, text="Próximos pedidos")

        #labels y entries agregar
        self.__titulos = [
            "Nombre: ", "Cantidad: ", "Precio: ", "Fecha de entrega: ",
            "Modo de pago: "
        ]
        self.__Entry = []
        for i in range(5):
            tk.Label(self.__agregar, text=self.__titulos[i]).grid(row=i,
                                                                  column=1)
            self.__Entry.append(tk.Entry(self.__agregar, width=40))
            self.__Entry[i].grid(row=i, column=2)

        #boton agregar
        self.__botonAgregar = tk.Button(self.__agregar,
                                        text="Agregar",
                                        command=self.agregar,
                                        bg="green")
        self.__botonAgregar.grid(row=6, column=2)

        #label y entry eliminar
        self.__labelEliminar = tk.Label(self.__eliminar, text="Nombre: ")
        self.__labelEliminar.grid(row=1, column=2)

        self.__EntryEliminar = tk.Entry(self.__eliminar)
        self.__EntryEliminar.grid(row=1, column=3)

        #boton eliminar
        self.__botonEliminar = tk.Button(self.__eliminar,
                                         text="Eliminar",
                                         command=self.eliminar,
                                         bg="pink")
        self.__botonEliminar.grid(row=4, column=3)

        #bind eliminar con intro
        #self.__eliminar.bind("<Return>",command = self.eliminar)

        #label y entry Buscar
        self.__labelBuscar = tk.Label(self.__buscar, text="Nombre: ")
        self.__labelBuscar.grid(row=1, column=1)

        self.__EntryBuscar = tk.Entry(self.__buscar)
        self.__EntryBuscar.grid(row=1, column=2)

        #boton buscar
        self.__botonBuscar = tk.Button(self.__buscar,
                                       text="Buscar",
                                       command=self.buscar,
                                       bg="pink")
        self.__botonBuscar.grid(row=2, column=2)

        #pedidos de hoy
        self.__tabla = ttk.Treeview(self.__pedidosDeHoy,
                                    columns=5,
                                    selectmode="browse")
        self.__tabla["columns"] = ("Nombre", "Cantidad", "Precio",
                                   "Fecha de Entrega", "Modo de pago")
        self.__tabla.column("#0", width=2, minwidth=2, stretch=tk.NO)

        #scrollbar pedidos hoy
        yscroll = ttk.Scrollbar(self.__pedidosDeHoy,
                                orient="vertical",
                                command=self.__tabla.yview)
        yscroll.pack(side="right", fill="y")

        self.__tabla.configure(yscrollcommand=yscroll.set)

        for categoria in self.__tabla["columns"]:
            self.__tabla.column(categoria, width=27, minwidth=27)
            self.__tabla.heading(categoria, text=categoria, anchor=tk.W)

        #boton cargar datos hoy
        self.__botonCargar = tk.Button(self.__pedidosDeHoy,
                                       text="Actualizar",
                                       command=self.cargarDatosHoy,
                                       bg="pink")
        self.__botonCargar.pack()

        #pedidos proximos
        self.__tablaProximosPedidos = ttk.Treeview(self.__proximosPedidos,
                                                   columns=5,
                                                   selectmode="browse")
        self.__tablaProximosPedidos["columns"] = ("Nombre", "Cantidad",
                                                  "Precio", "Fecha de Entrega",
                                                  "Modo de pago")
        self.__tablaProximosPedidos.column("#0",
                                           width=2,
                                           minwidth=2,
                                           stretch=tk.NO)

        #scrollbar pedidos proximos
        yscroll = ttk.Scrollbar(self.__proximosPedidos,
                                orient="vertical",
                                command=self.__tablaProximosPedidos.yview)
        yscroll.pack(side="right", fill="y")

        self.__tablaProximosPedidos.configure(yscrollcommand=yscroll.set)

        for categoria in self.__tablaProximosPedidos["columns"]:
            self.__tablaProximosPedidos.column(categoria,
                                               width=27,
                                               minwidth=27)
            self.__tablaProximosPedidos.heading(categoria,
                                                text=categoria,
                                                anchor=tk.W)

        #boton cargar datos proximos pedidos
        self.__botonCargar = tk.Button(self.__proximosPedidos,
                                       text="Actualizar",
                                       command=self.cargarDatosProximosPedidos,
                                       bg="pink")
        self.__botonCargar.pack()

        self.__notebook.pack(expand=1, fill="both")

        #boton guardar datos
        self.__botonGuardar = tk.Button(self.__ventana,
                                        text="Guardar datos",
                                        command=self.guardar,
                                        bg="skyblue")
        self.__botonGuardar.pack()

        #cargar pedidos de hoy y proximos
        self.cargarDatosHoy()
        self.cargarDatosProximosPedidos()

        self.__ventana.mainloop()
    b.place(x=660,y=600,width=100,height=25)

        
def work_schedule():
    
    b = Button(schedule_frame, text="export", command=export_doc)
    b.place(x=660,y=600,width=100,height=25)
    

def export_doc():
    print("nothing to export")


n = ttk.Notebook(root)
n.place(x=0,y=0,width=760, height=680)
f1 = ttk.Frame(n)   # first page, which would get widgets gridded into it
f2 = ttk.Frame(n)   # second page
n.add(f1, text='Stock Manager')
b = Button(f1, text="export", command=export_doc)
b.place(x=660,y=600,width=100,height=25)

n.add(f2, text='Volunteer Schedule Manager')
b = Button(f2, text="export", command=export_doc)
b.place(x=660,y=600,width=100,height=25)






Exemplo n.º 16
0
    def __init__(self, master):
        self.n = 8  # number of queens
        self.queens = (0 for i in range(self.n))  # queens in current solution
        self.index = 0  # index of currently displayed solution
        self.solutions = []  # list of all possible solutions for n queens

        # build gui
        self.master = master
        self.master.title('NQueens')
        self.master.configure(background='#e1d8b9')
        self.master.minsize(400, 470)
        self.master.resizable(True, True)
        self.master.bind('<Configure>', lambda e: self._draw_board())

        self.style = ttk.Style()
        self.style.configure('TFrame', background='#e1d8b9')
        self.style.configure('TButton', background='#e1d8b9')
        self.style.configure('TLabel', background='#e1d8b9')

        self.board_canvas = Canvas(self.master)
        self.board_canvas.pack()

        self.controls_frame = ttk.Frame(self.master)
        self.controls_frame.pack(side=TOP, pady=10)

        ttk.Label(self.controls_frame,
                  text='Number of Queens:',
                  font='Verdana 10 bold').grid(row=0, column=0)
        self.n_var = StringVar()
        self.n_var.set(self.n)
        Spinbox(self.controls_frame,
                from_=4,
                to=99,
                width=2,
                font='Verdana 10 bold',
                textvariable=self.n_var).grid(row=0, column=1)
        ttk.Button(self.controls_frame,
                   text='Get Next Solution',
                   command=self._solution_callback).grid(row=1,
                                                         column=0,
                                                         columnspan=2)
        ttk.Label(self.controls_frame).grid(row=0, column=2, padx=10)  # spacer

        self.solution_var = StringVar()
        self.time_var = StringVar()
        self.solution_var.set('--')
        self.time_var.set('--')
        ttk.Label(self.controls_frame,
                  text='Solution:',
                  font='Verdana 10 bold').grid(row=0, column=3, sticky=(E))
        ttk.Label(self.controls_frame,
                  textvariable=self.solution_var,
                  font='Verdana 10').grid(row=0, column=4, sticky=(W))
        ttk.Label(self.controls_frame,
                  text='Elapsed Time:',
                  font='Verdana 10 bold').grid(row=1, column=3, sticky=(E))
        ttk.Label(self.controls_frame,
                  textvariable=self.time_var,
                  font='Verdana 10').grid(row=1, column=4, sticky=(W))

        self._solution_callback(
        )  # begin by showing first solution to N queens
Exemplo n.º 17
0
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib.pyplot as plt

import pandas as pd
import numpy as np

window = tk.Tk()
window.geometry("1080x640")
window.wm_title("Trading")

pw = ttk.PanedWindow(window, orient=tk.HORIZONTAL)
pw.pack(fill=tk.BOTH, expand=True)

w2 = ttk.PanedWindow(pw, orient=tk.VERTICAL)

frame1 = ttk.Frame(pw, width=360, height=640, relief=tk.SUNKEN)
frame2 = ttk.Frame(pw, width=720, height=400, relief=tk.SUNKEN)
frame3 = ttk.Frame(pw, width=720, height=240, relief=tk.SUNKEN)

w2.add(frame2)
w2.add(frame3)

pw.add(w2)
pw.add(frame1)

# frame1: treeview, open trade button

item = ""


def callback(event):
Exemplo n.º 18
0
# Set up main Tk window and title
root = Tk()
root.title("Timer")
root.iconbitmap("timer_icon.ico")
root.resizable(width=False, height=False)

# Set up variable classes to track changes
status_msg = StringVar(value=default_status_msg)
timer_hours = StringVar(value=t1.hours_default)
timer_mins = StringVar() # Left empty for faster input
timer_secs = StringVar(value=t1.secs_default)
time_left = StringVar(value=default_time)

# Create a themed frame widget within the main window to hold UI content
mainframe = ttk.Frame(root, padding="5 5 5 5", borderwidth=1, relief='sunken')
mainframe.grid(row=1, column=0, sticky=(N, W, E, S))

# Create a status bar
status_bar = ttk.Label(root, textvariable=status_msg, padding="3 3 3 3",
    borderwidth=1, relief='sunken', anchor=W, background=color_status_bar)
status_bar.grid(row=2, column=0, columnspan=3, sticky=[W, E])

# Create label widgets for hours, mins, and secs
time_label_hours = ttk.Label(mainframe, text="Hours").grid(row=1, column=1)
time_label_mins = ttk.Label(mainframe, text="Mins").grid(row=1, column=2)
time_label_secs = ttk.Label(mainframe, text="Secs").grid(row=1, column=3)

# Create entry widgets for getting timer length in hours, mins, and secs
time_entry_hours = ttk.Entry(mainframe, width=5, textvariable=timer_hours)
time_entry_mins = ttk.Entry(mainframe, width=5, textvariable=timer_mins)
Exemplo n.º 19
0
]
high = [
    'Enoxaparin dose 60mg SC OD', 'Enoxaparin dose 80mg SC OD',
    'Enoxaparin dose 100mg SC OD', 'Enoxaparin dose 120mg SC OD',
    'Enoxaparin dose 150mg SC OD', 'Enoxaparin dose 180mg SC OD'
]
wmech = ([40, 49.99], [50, 74.99], [75, 89.99], [90, 109.99], [110, 125])
mech = [
    'Enoxaparin dose 40mg SC BD', 'Enoxaparin dose 60mg SC BD',
    'Enoxaparin dose 80mg SC BD', 'Enoxaparin dose 100mg SC BD',
    'Enoxaparin dose 120mg SC BD'
]

#sets Frames
contentm = ttk.Frame(window,
                     borderwidth=5,
                     relief="ridge",
                     padding=(3, 3, 12, 12))
contentm.grid(column=0, row=0, sticky=(N, S, E, W))
#fills data for entry frame

Age_lbl = ttk.Label(contentm, text='Age ?', font=('', 20, 'bold'))
Age_entry = ttk.Entry(contentm,
                      font=('', 20, 'bold'),
                      width=10,
                      justify='right')
Age_lbl.grid(row=0, column=0, sticky=(N, S, E, W), padx=5, pady=5)
Age_entry.grid(row=0, column=1, sticky=(N, E), padx=5, pady=5)
Age_entry.focus()

Height_lbl = ttk.Label(contentm, text='Height in cm ?', font=('', 20, 'bold'))
Height_entry = ttk.Entry(contentm,
Exemplo n.º 20
0
def init():
    """Initialise all widgets in the given window."""
    for cat, btn_text in [
            ('back_', _('Restore:')),
            ('game_', _('Backup:')),
            ]:
        UI[cat + 'frame'] = frame = ttk.Frame(
            window,
        )
        UI[cat + 'title_frame'] = title_frame = ttk.Frame(
            frame,
        )
        title_frame.grid(row=0, column=0, sticky='EW')
        UI[cat + 'title'] = ttk.Label(
            title_frame,
            font='TkHeadingFont',
        )
        UI[cat + 'title'].grid(row=0, column=0)
        title_frame.rowconfigure(0, weight=1)
        title_frame.columnconfigure(0, weight=1)

        UI[cat + 'details'] = CheckDetails(
            frame,
            headers=HEADERS,
        )
        UI[cat + 'details'].grid(row=1, column=0, sticky='NSEW')
        frame.rowconfigure(1, weight=1)
        frame.columnconfigure(0, weight=1)

        button_frame = ttk.Frame(
            frame,
        )
        button_frame.grid(column=0, row=2)
        ttk.Label(button_frame, text=btn_text).grid(row=0, column=0)
        UI[cat + 'btn_all'] = ttk.Button(
            button_frame,
            text='All',
            width=3,
        )
        UI[cat + 'btn_sel'] = ttk.Button(
            button_frame,
            text=_('Checked'),
            width=8,
        )
        UI[cat + 'btn_all'].grid(row=0, column=1)
        UI[cat + 'btn_sel'].grid(row=0, column=2)

        UI[cat + 'btn_del'] = ttk.Button(
            button_frame,
            text=_('Delete Checked'),
            width=14,
        )
        UI[cat + 'btn_del'].grid(row=1, column=0, columnspan=3)

        utils.add_mousewheel(
            UI[cat + 'details'].wid_canvas,
            UI[cat + 'frame'],
        )

    UI['game_refresh'] = ttk.Button(
        UI['game_title_frame'],
        image=img.png('icons/tool_sub'),
        command=ui_refresh_game,
    )
    UI['game_refresh'].grid(row=0, column=1, sticky='E')
    add_tooltip(
        UI['game_refresh'],
        "Reload the map list.",
    )

    UI['game_title']['textvariable'] = game_name
    UI['back_title']['textvariable'] = backup_name

    UI['game_btn_all']['command'] = ui_backup_all
    UI['game_btn_sel']['command'] = ui_backup_sel
    UI['game_btn_del']['command'] = ui_delete_game

    UI['back_btn_all']['command'] = ui_restore_all
    UI['back_btn_sel']['command'] = ui_restore_sel
    UI['back_btn_del']['command'] = ui_delete_backup


    UI['back_frame'].grid(row=1, column=0, sticky='NSEW')
    ttk.Separator(orient=tk.VERTICAL).grid(
        row=1, column=1, sticky='NS', padx=5,
    )
    UI['game_frame'].grid(row=1, column=2, sticky='NSEW')

    window.rowconfigure(1, weight=1)
    window.columnconfigure(0, weight=1)
    window.columnconfigure(2, weight=1)
gui_style = ttk.Style()
gui_style.configure('My.TFrame', background='#334353')

username = StringVar()
save_to = StringVar()
password = StringVar()
count = StringVar()
cloud_rVal = StringVar()
cloud_rVal.set('Amazon')
cred = StringVar()
cred.set('none')
cookie_path = StringVar()
CheckCalling = IntVar()
CheckAudio = IntVar()

frame2 = ttk.Frame(root,padding="3 3 12 12", relief=GROOVE, borderwidth=2) #Row of buttons
frame2.grid(column=0, row=0,sticky=(N, W, E, S))
ttk.Button(frame2, text="Browse", command=browse_path).grid(column=3, row=0, sticky=(E, W))
save_path_entry = ttk.Entry(frame2, width=30, textvariable=save_to, state='readonly')
save_path_entry.grid(column=1, row=0, padx=3, columnspan=2, sticky=(W, E))
ttk.Label(frame2, text="Save To:").grid(column=0, row=0,padx=3, sticky=W)
ttk.Label(frame2, text="Download from:").grid(column=0, padx=3,row=1, sticky=W)

#radio buttons
Radiobutton(frame2, text="Amazon", variable=cloud_rVal, value='Amazon').grid(column=1, row=1, padx=3, sticky=W)
Radiobutton(frame2, text="IoT Device-2", variable=cloud_rVal, value='IoT2', state='disabled').grid(column=2, row=1, padx=3, sticky=W)
Radiobutton(frame2, text="IoT device-3", variable=cloud_rVal, value='IoT3',state='disabled').grid(column=3, row=1, padx=3, sticky=W)

mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=1, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
Exemplo n.º 22
0
def init_backup_settings():
    """Initialise the auto-backup settings widget."""
    from BEE2_config import GEN_OPTS
    check_var = tk.IntVar(
        value=GEN_OPTS.get_bool('General', 'enable_auto_backup')
    )
    count_value = GEN_OPTS.get_int('General', 'auto_backup_count', 0)
    back_dir = GEN_OPTS.get_val('Directories', 'backup_loc', 'backups/')

    def check_callback():
        GEN_OPTS['General']['enable_auto_backup'] = srctools.bool_as_int(
            check_var.get()
        )

    def count_callback():
        GEN_OPTS['General']['auto_backup_count'] = str(count.value)

    def directory_callback(path):
        GEN_OPTS['Directories']['backup_loc'] = path

    UI['auto_frame'] = frame = ttk.LabelFrame(
        window,
    )
    UI['auto_enable'] = enable_check = ttk.Checkbutton(
        frame,
        text=_('Automatic Backup After Export'),
        variable=check_var,
        command=check_callback,
    )

    frame['labelwidget'] = enable_check
    frame.grid(row=2, column=0, columnspan=3)

    dir_frame = ttk.Frame(
        frame,
    )
    dir_frame.grid(row=0, column=0)

    ttk.Label(
        dir_frame,
        text='Directory',
    ).grid(row=0, column=0)

    UI['auto_dir'] = tk_tools.FileField(
        dir_frame,
        loc=back_dir,
        is_dir=True,
        callback=directory_callback,
    )
    UI['auto_dir'].grid(row=1, column=0)

    count_frame = ttk.Frame(
        frame,
    )
    count_frame.grid(row=0, column=1)
    ttk.Label(
        count_frame,
        text=_('Keep (Per Game):'),
    ).grid(row=0, column=0)

    count = tk_tools.ttk_Spinbox(
        count_frame,
        range=range(50),
        command=count_callback,
    )
    count.grid(row=1, column=0)
    count.value = count_value
Exemplo n.º 23
0
 def __init__(self, frame, attributes_values):
     self.frame = ttk.Frame(frame)
     self.frame.pack(fill=tk.X, pady=(7, 10))
     self.attributes_values = attributes_values
     self.row = 0
     self.check_buttons = self.create_check_buttons()
Exemplo n.º 24
0
from tkinter import ttk
# tutorial copy paste from http://www.tkdocs.com/tutorial/onepage.html


def calculate(*args):
    try:
        value = float(feet.get())
        meters.set((0.3048 * value * 10000.0 + 0.5) / 10000.0)
    except ValueError:
        pass


root = Tk()
root.title("Feet to Meters")

mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)

feet = StringVar()
meters = StringVar()

feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)
feet_entry.grid(column=2, row=1, sticky=(W, E))

ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))
ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3,
                                                                row=3,
                                                                sticky=W)
Exemplo n.º 25
0
def trygui():
    #window = tk.Tk()
    global runPeriodicBaseline
    global runBaseline
    mainframe = ttk.Frame(window, padding="3 3 12 12")
    mainframe.grid(column=0, row=0, sticky=("N, W, E, S"))
    window.columnconfigure(0, weight=1, uniform='a')
    window.rowconfigure(0, weight=1, uniform='a')
    window.title("Here is your GUI window")
    window.geometry('+100+100')
    #print("Window is at ",str(window))

    mylabel = ttk.Label(mainframe, text="ASIC testing")
    mylabel.grid(column=0, row=0)
    #print("mylabel is at ",str(mylabel))

    mybutton = ttk.Button(mainframe, text="Run Tests", command=RunTests)
    #mybutton= ttk.Button(window,text="Run PeriodicBaseline")
    #print("mybutton is at ",str(mybutton))
    mybutton.grid(column=0, row=1)

    print("trygui")

    mychipIDBox = []

    def deploySN():
        if int(numChipVar.get()) > len(mychipIDBox):
            for ChipNum in range(
                    len(mychipIDBox) + 1,
                    int(numChipVar.get()) + 1):
                print(ChipNum)
                mychipIDBox.append(ttk.Entry(SNframe, width=6))
                mychipIDBox[ChipNum - 1].grid(column=4,
                                              row=ChipNum,
                                              sticky='E')
        if int(numChipVar.get()) < len(mychipIDBox):
            for ChipNum in range(len(mychipIDBox), int(numChipVar.get()), -1):
                print(ChipNum)
                mychipIDBox[ChipNum - 1].state(['disabled'])
        for ChipNum in range(1, int(numChipVar.get()) + 1):
            mychipIDBox[ChipNum - 1].state(['!disabled'])

#	print(runPeriodicBaseline.get()," = runPeriodicBaseline")
#	PerBaselineButton = ttk.Checkbutton(mainframe,text=
#		"Run PerBaseline",variable=runPeriodicBaseline,command=printStatus,onvalue="1",offvalue="0")
#	runPeriodicBaseline.set("1")
#	print(runPeriodicBaseline.get()," = runPeriodicBaseline")
#	runPeriodicBaseline.set("0")
#	print(runPeriodicBaseline.get()," = runPeriodicBaseline")
#	runPeriodicBaseline.set("1")
#	print(runPeriodicBaseline.get()," = runPeriodicBaseline")
#	#PerBaselineButton.state=runPeriodicBaseline
#	PerBaselineButton.grid(column=0,row=3,sticky="W")

#	print(runBaseline.get()," = runBaseline")
#	BaselineButton = ttk.Checkbutton(mainframe,text="Run Baseline",variable=runBaseline,command=printStatus)
#	#runBaseline=0
#	#BaselineButton.value=0 #runBaseline
#	BaselineButton.grid(column=0,row=4,sticky="W")

    global testList
    testList = [
        "Periodic Baseline", "Baseline", "Thresh Levels", "Leakage Data",
        "Charge Injection", "Pulse Data", "Analog Display"
    ]
    testDefaults = [1, 0, 1, 0, 1, 0, 1]
    testFunctionNames = [
        "get_baseline_periodictrigger", "get_baseline_selftrigger",
        "get_ThreshLevels", "get_leakage_data", "get_charge_injection",
        "PulseChannelLoop", "AnalogDisplayLoop"
    ]
    testFunctions = []

    global buttonVars
    #buttonVars = [] #[len(testList)] # will hold StringVar()
    testButton = []  #[len(testList)] # will hold test checkbuttons

    row = 4
    testID = 0
    print(len(testList))
    for test in testList:
        testFunctions.append(testFunctionNames[testID])
        print(test)
        buttonVars.append(tk.StringVar())
        buttonVars[testID].set(testDefaults[testID])
        testButton.append(
            ttk.Checkbutton(mainframe,
                            text=test,
                            variable=buttonVars[testID],
                            command=printStatus))
        testButton[testID].grid(column=0, row=row + 1, sticky="W")
        row = row + 1
        testID = testID + 1


#	print(runBaseline.get()," = runBaseline")
#	BaselineButton = ttk.Checkbutton(mainframe,text="Run Baseline",variable=runBaseline,command=printStatus)
#	BaselineButton.grid(column=0,row=5,sticky="W")

    textBox = tk.Text(mainframe, width=40, height=10)
    textBox.grid(column=9, row=2, rowspan=10)

    closebutton = ttk.Button(mainframe, text="Quit", command=window.destroy)
    closebutton.grid(column=9, row=99, sticky='E')
    #print("closebutton is at ",str(closebutton))

    SNframe = ttk.Frame(mainframe, padding="3 3 12 12")
    SNframe.grid(column=9, row=0, rowspan=2, sticky='E')
    SNlabel = ttk.Label(SNframe, text="ASICs to test (1-10)")
    SNlabel.grid(column=1, row=0)
    numChipVar = tk.StringVar()
    #numChipVar.set("2")
    numChipWheel = tk.Spinbox(SNframe,
                              from_=1,
                              to=10,
                              textvariable=numChipVar,
                              command=deploySN)
    numChipWheel.grid(column=1, row=1, sticky='W')
    # this makes it interactive?
    window.mainloop()
Exemplo n.º 26
0
 def wrapped(cls, master, **kw):
     container = ttk.Frame(master)
     container.bind('<Enter>', lambda e: _bound_to_mousewheel(e, container))
     container.bind('<Leave>', lambda e: _unbound_to_mousewheel(e, container))
     return func(cls, container, **kw)
Exemplo n.º 27
0
    def get_frame(self) -> ttk.Frame:
        frame = ttk.Frame(self.top)
        frame.columnconfigure(1, weight=1)
        if self.is_symmetric:
            label_name = "Symmetric Link Effects"
        else:
            label_name = "Asymmetric Effects: Downstream / Upstream "
        row = 0
        label = ttk.Label(frame, text=label_name, anchor=tk.CENTER)
        label.grid(row=row, column=0, columnspan=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Bandwidth (bps)")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveIntEntry(frame,
                                            empty_enabled=False,
                                            textvariable=self.bandwidth)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        if not self.is_symmetric:
            entry = validation.PositiveIntEntry(
                frame, empty_enabled=False, textvariable=self.down_bandwidth)
            entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Delay (us)")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveIntEntry(frame,
                                            empty_enabled=False,
                                            textvariable=self.delay)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        if not self.is_symmetric:
            entry = validation.PositiveIntEntry(frame,
                                                empty_enabled=False,
                                                textvariable=self.down_delay)
            entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Jitter (us)")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveIntEntry(frame,
                                            empty_enabled=False,
                                            textvariable=self.jitter)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        if not self.is_symmetric:
            entry = validation.PositiveIntEntry(frame,
                                                empty_enabled=False,
                                                textvariable=self.down_jitter)
            entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Loss (%)")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveFloatEntry(frame,
                                              empty_enabled=False,
                                              textvariable=self.loss)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        if not self.is_symmetric:
            entry = validation.PositiveFloatEntry(frame,
                                                  empty_enabled=False,
                                                  textvariable=self.down_loss)
            entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Duplicate (%)")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveIntEntry(frame,
                                            empty_enabled=False,
                                            textvariable=self.duplicate)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        if not self.is_symmetric:
            entry = validation.PositiveIntEntry(
                frame, empty_enabled=False, textvariable=self.down_duplicate)
            entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Buffer (Packets)")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveIntEntry(frame,
                                            empty_enabled=False,
                                            textvariable=self.buffer)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        if not self.is_symmetric:
            entry = validation.PositiveIntEntry(frame,
                                                empty_enabled=False,
                                                textvariable=self.down_buffer)
            entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Color")
        label.grid(row=row, column=0, sticky=tk.EW)
        self.color_button = tk.Button(
            frame,
            textvariable=self.color,
            background=self.color.get(),
            bd=0,
            relief=tk.FLAT,
            highlightthickness=0,
            command=self.click_color,
        )
        self.color_button.grid(row=row, column=1, sticky=tk.EW, pady=PADY)
        row = row + 1

        label = ttk.Label(frame, text="Width")
        label.grid(row=row, column=0, sticky=tk.EW)
        entry = validation.PositiveFloatEntry(frame,
                                              empty_enabled=False,
                                              textvariable=self.width)
        entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY)

        return frame
Exemplo n.º 28
0
    def build_window(self):
        """Build Main Window, Widgets and Event Bindings"""
        self.root.geometry('650x450+300+300')
        self.root.minsize(650, 450)

        #frame config
        self.main_frame = tk.Frame(self.root)
        self.main_frame.grid(row=0, column=0)

        #Header Frame
        self.header_frame = ttk.Frame(self.main_frame)
        self.header_frame.grid(row=0, column=0, pady=1)
        ttk.Label(self.header_frame, text='\nCMD.py\n').grid(row=1,
                                                             column=0,
                                                             pady=1)

        #User Frame
        self.user_frame = ttk.Frame(self.main_frame)
        self.user_frame.grid(row=2, column=0, pady=7)

        ttk.Label(self.user_frame, text='Enter Command:').grid(row=3,
                                                               column=0,
                                                               pady=5,
                                                               sticky='W')
        self.command_box = ttk.Entry(self.user_frame, width=50)
        self.command_box.grid(row=3, column=0)

        self.commandbutton = ttk.Button(self.user_frame,
                                        text='Execute Command',
                                        command=self.run_command)
        self.commandbutton.grid(row=3, column=0, pady=5, sticky='E')

        ttk.Label(self.user_frame,
                  text="Select Working Directory:").grid(row=6,
                                                         column=0,
                                                         pady=5,
                                                         sticky='W')
        self.filepathbutton = ttk.Button(self.user_frame,
                                         text='Select Directory',
                                         command=self.select_path)
        self.filepathbutton.grid(row=6, column=0, sticky='E')
        self.directorypath_box = ttk.Entry(self.user_frame, width=50)
        self.directorypath_box.grid(row=6, column=0)

        self.output_box = tk.Text(self.user_frame,
                                  width=75,
                                  height=15,
                                  wrap='word',
                                  state='disabled')
        self.output_box.grid(row=8, column=0, pady=5)
        self.output_scroll = ttk.Scrollbar(self.user_frame,
                                           orient='vertical',
                                           command=self.output_box.yview)
        self.output_scroll.grid(row=8, column=1, sticky='ns')

        self.clearbutton = ttk.Button(self.user_frame,
                                      text='Clear',
                                      command=self.clear)
        self.clearbutton.grid(row=9, column=0, pady=5, sticky='W')

        self.copybutton = ttk.Button(self.user_frame,
                                     text='Copy Output',
                                     command=self.copy)
        self.copybutton.grid(row=9, column=0, pady=5, sticky='E')
Exemplo n.º 29
0
    def __init__(self, parent, *args, **kwargs):
        ttk.Frame.__init__(self, parent, *args, **kwargs)

        # Parse folder creator options
        self.options = parse_options("folder_creator_options.json")

        # Target Directory selection
        self.select_directory = SelectDirectory(self, path=self.options["folder-dir"], title='Select Target Directory')
        self.select_directory.grid(row=0, column=0, columnspan=3, sticky=(N, E, S, W), padx=20, pady=10)

        # Folder Name Selection
        self.folder_name_entry = LabledEntry(self, title='Enter Output Folder Name', label='Output Name', defaultEntry=self.options['folder-name'])
        self.folder_name_entry.grid(row=1, column=0, sticky=(N, S, W, E), padx=20, pady=10)

        # Verbose Output Selection
        verbose_frame = ttk.LabelFrame(self, text='Console Logging')

        self.verbose = BooleanVar()
        self.verbose.set(self.options['verbose'])
        verbose_checkbox = ttk.Checkbutton(verbose_frame, text='Verbose Logging', variable=self.verbose)
        verbose_checkbox.grid(row=0, column=0, padx=10, pady=5)
        verbose_frame.rowconfigure(0, weight='1')
        verbose_frame.columnconfigure(0, weight='1')

        verbose_frame.grid(row=1, column=1, sticky=(N, E, S, W), padx=20, pady=10)

        # Workflows
        workflow_frame = ttk.Frame(self)

        # Download Files Workflow
        dl_workflow = FolderCreatorWorkflow(parent=workflow_frame,
                                            description="Downloads files from the Digial Library onto your local machine at the target directory specified above",
                                            scriptButtonName="Download Files",
                                            scriptCallback=self.runDownloadScript,
                                            optionsCallback=lambda: self.open_options(0))
        dl_workflow.grid(row=0, column=0, sticky=(N, E, S, W), padx=0, pady=5)

        # Validate Folders Workflow
        validate_workflow = FolderCreatorWorkflow(parent=workflow_frame,
                                                description="Validates the folder structure at the target directory, and optionally outputs a sample table of contents",
                                                scriptButtonName='Validate Folder',
                                                scriptCallback=self.runValidateScript,
                                                optionsCallback=lambda: self.open_options(1))
        validate_workflow.grid(row=0, column=1, sticky=(N, E, S, W), padx=20, pady=5)

        # Create Folders workflow
        create_folders = FolderCreatorWorkflow(parent=workflow_frame,
                                                description="Writes the folders to the Output folder in the target directory\n\nThis takes about 2-5 minutes",
                                                scriptButtonName='Generate Folders',
                                                scriptCallback=self.runFolderCreatorScript,
                                                optionsCallback=lambda: self.open_options(2))
        create_folders.grid(row=0, column=2, sticky=(N, E, S, W), padx=0, pady=5)

        # Make Workflow Frame resizeable
        workflow_frame.grid(row=2, column=0, columnspan=3, sticky=(N, E, S, W), padx=20, pady=10)
        workflow_frame.rowconfigure(0, weight='1')
        for i in range(3): workflow_frame.columnconfigure(i, weight='1')
        
        # Run script/Close buttons
        close_button = ttk.Button(self, text='Close', command=lambda: parent.master.destroy())
        bind_button(close_button)

        close_button.grid(row=3, column=0, sticky=(S, W), padx=20, pady=10)

        # Make resizeable
        for i in range(4):
            self.rowconfigure(i, weight='1')
        self.columnconfigure(1, weight='1')
Exemplo n.º 30
0
from tkinter import *
from tkinter import ttk
from linkedlist import *
from cqueue import *
from stack import *

#entry
mainWindow = Tk()
mainWindow.title("Task 1, Navoitsev Denis, IKBO-06-18")
mainWindow.geometry("800x600")
tab = ttk.Notebook(mainWindow)

#task one
tabList = ttk.Frame(tab)
tab.add(tabList, text="Linear Monodirected List")
tab.pack(expand=1, fill='both')

#input fields
inputFieldL = Entry(tabList, width=40, font=("Consolas", 18))
inputFieldL.grid(column=1, row=1)
inputFieldL.focus()

#info fields
labelL = Label(tabList, text='Input int values:', font=("Consolas", 18))
labelL.grid(column=1, row=0)

#list --init--
loclist = LinkedList()


#input