python类Label()的实例源码

st_main_view.py 文件源码 项目:Smart-Trader 作者: i-sultan 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __init__(self):
        tk.Tk.__init__(self)
        tk.Tk.wm_title(self, "Smart Trader System")
        if os.name == "nt":
            tk.Tk.iconbitmap(self, default="app_icon.ico")
        self.configure(background = StColors.dark_grey)
        set_app_style()

        # Top section (header)
        title = ttk.Label(self, text="Smart Trader Portal", font=("Tahoma", 25, 'bold'))
        title.pack()

        # Lower section (tabs area)
        notebook = ttk.Notebook(self)
        notebook.pack()
        # Create Controllers and add their views
        explore = ExploreController(self)
        train   = TrainingController(self)
        backtest= BacktestController(self)
        forecast= ForecastController(self)
        for view_frame in (explore.view, train.view, backtest.view, forecast.view):
            view_frame.grid(row=0, column=0, sticky="nsew")
            notebook.add(view_frame, text = view_frame.title)
recipe-580728.py 文件源码 项目:code 作者: ActiveState 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def __init__(self, panedwindow, sash_index, disallow_dragging=False, on_click=None, **kw):
        image = kw.pop("image", None)
        Frame.__init__(self, panedwindow, class_="Handle", **kw)

        self._sash_index = sash_index

        if image:
            self._event_area = Label(self, image=image)
            self._event_area.pack()            
        else:
            self._event_area = self

        self._center = int(self._event_area.winfo_reqwidth()/2), int(self._event_area.winfo_reqheight()/2)

        if disallow_dragging:
            if on_click:
                self._event_area.bind('<Button-1>', lambda event: on_click())
        else:
            self._event_area.bind('<Button-1>', self._initiate_motion)
            self._event_area.bind('<B1-Motion>', self._on_dragging)
            self._event_area.bind('<ButtonRelease-1>', self.master._on_release)
metlab.py 文件源码 项目:metlab 作者: norling 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def __init__(self, parent, title="", optional = False, opt_func = None, *args, **options):
        Frame.__init__(self, parent, *args, **options)

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

        self.enabled = IntVar()
        self.enabled.set(1)

        self.header = ttk.Frame(self)

        if optional:
            title_line = ttk.Checkbutton(self.header, text=title, variable=self.enabled, command=opt_func)
        else:
            title_line = ttk.Label(self.header, text="      %s" % (title))

        title_line.pack(side="top", fill=X)

        self.toggle_button = ttk.Checkbutton(self.header, width=2, text='+', 
                                         command=self.toggle_expanded, variable=self.expanded, style='Toolbutton')
        self.toggle_button.pack(side="left", fill=X)
        self.header.pack(fill=X, expand=1)

        self.sub_frame = Frame(self)
metlab.py 文件源码 项目:metlab 作者: norling 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def __init__(self, parent, title="", *args, **options):
        Frame.__init__(self, parent, *args, **options)

        header = Frame(self, bg="white")
        Label(header, text=title, font=("Helvetica", 16)).pack(side='top', anchor='nw', pady=4)
        header.pack(side="top", anchor="nw", fill=X)

        self.info = Frame(self)
        self.info_label = StringVar()
        Label(self.info, textvar=self.info_label).pack(side="top")
        self.info.pack(side="right", anchor="nw", fill=BOTH)

        self.list = Frame(self)
        self.list.pack(side="left", anchor="nw", fill=BOTH)

        self.info_frames = {}
        self.active_item = None
        self.active_info = None
metlab.py 文件源码 项目:metlab 作者: norling 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def add(self, item):
        item_label = Label(self.list, text=item["name"], justify="right", cursor="dotbox")
        item_label.bind("<Button-1>", self._click)
        item_label.pack(side="top", fill=X, anchor="nw", padx=(5,15))

        info = Frame(self.info)
        Label(info, text="Executed commands:").pack(side="top", anchor="nw", padx=(0,20))
        steps = Text(info, bg="grey", fg="blue", font=("Courier", 12), height=len(item["steps"])+1)
        steps.configure(state=NORMAL)
        for step in item["steps"]:
            steps.insert(END, " $ %s %s\n" % (step.split()[0].split("/")[-1], " ".join(step.split()[1:])))
        steps.see(END)
        steps.configure(state=DISABLED)
        steps.pack(side="top", anchor="nw")

        result_frame = Frame(info)

        Label(result_frame, text="Results directory: ").pack(side="left", anchor="nw", padx=(0,20))
        Label(result_frame, text=item["path"]).pack(side="left", anchor="nw", padx=(0,20))
        Button(result_frame, text="Open", command=lambda p=item["path"]:  open_in_file_browser(p) ).pack(side="left", anchor="nw", padx=(0,20))
        result_frame.pack(side="top", anchor="nw")

        Button(info, text="Delete run", command=lambda p=item: self.remove(item_label, info, p) ).pack(side="top", anchor="nw", padx=(0,20))

        self.info_frames[str(item_label)] = info
gui.py 文件源码 项目:StochOPy 作者: keurfonluu 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def de_widget(self):
        # Initialize widget
        self.init_widget()

        # strategy
        self.strategy_label = ttk.Label(self.frame1.sliders, text = "Strategy")
        self.strategy_option_menu = ttk.OptionMenu(self.frame1.sliders, self.strategy, self.strategy.get(),
                                                   *sorted(self.STRATOPT))
        self.strategy_label.place(relx = 0, x = 0, y = 5, anchor = "nw")
        self.strategy_option_menu.place(relx = 0, x = 70, y = 3, anchor = "nw")

        # CR
        self._label("Crossover probability", 2)
        self._scale(0., 1., 0.01, self.CR, 2)
        self._entry(self.CR, 2)

        # F
        self._label("Differential weight", 4)
        self._scale(0., 2., 0.01, self.F, 4)
        self._entry(self.F, 4)
gui_agent.py 文件源码 项目:pyktrader2 作者: harveywwu 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def position_view(self):
        params = self.app.get_agent_params(['Positions'])
        positions = params['Positions']
        pos_win   = tk.Toplevel(self)
        pos_frame = ScrolledFrame(pos_win)
        fields = ['gateway', 'inst', 'currlong', 'currshort', 'locklong', 'lockshort', 'ydaylong', 'ydayshort']
        for idx, field in enumerate(fields):
            row_idx = 0
            tk.Label(pos_frame.frame, text = field).grid(row=row_idx, column=idx)
            for gway in positions.keys():
                for inst in positions[gway]:
                    row_idx += 1
                    if field == 'inst':
                        txt = inst
                    elif field == 'gateway':
                        txt = str(gway)
                    else:
                        txt = positions[gway][inst][field]
                    tk.Label(pos_frame.frame, text = txt).grid(row=row_idx, column=idx)
gui_agent.py 文件源码 项目:pyktrader2 作者: harveywwu 项目源码 文件源码 阅读 32 收藏 0 点赞 0 评论 0
def tradepos_view(self):
        params = self.app.get_agent_params(['Risk.ppos'])
        res = params['Risk']
        sum_risk = {}
        sum_risk['total'] = res['total']
        strat_list = res['strats'].keys()
        for strat_name in strat_list:
            sum_risk[strat_name] = res['strats'][strat_name]
        pos_win   = tk.Toplevel(self)
        tp_frame = ScrolledFrame(pos_win)
        fields = ['inst', 'total'] + strat_list
        for idx, field in enumerate(fields):
            tk.Label(tp_frame.frame, text = field).grid(row=0, column=idx)
            for idy, inst in enumerate(sum_risk['total'].keys()):
                if field == 'inst':
                    txt = inst
                else:
                    inst_risk = sum_risk[field].get(inst, {})
                    txt = str(inst_risk.get('ppos', 0))
                tk.Label(tp_frame.frame, text = txt).grid(row=idy+1, column=idx)
test_widgets.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def test_sashpos(self):
        self.assertRaises(tkinter.TclError, self.paned.sashpos, None)
        self.assertRaises(tkinter.TclError, self.paned.sashpos, '')
        self.assertRaises(tkinter.TclError, self.paned.sashpos, 0)

        child = ttk.Label(self.paned, text='a')
        self.paned.add(child, weight=1)
        self.assertRaises(tkinter.TclError, self.paned.sashpos, 0)
        child2 = ttk.Label(self.paned, text='b')
        self.paned.add(child2)
        self.assertRaises(tkinter.TclError, self.paned.sashpos, 1)

        self.paned.pack(expand=True, fill='both')
        self.paned.wait_visibility()

        curr_pos = self.paned.sashpos(0)
        self.paned.sashpos(0, 1000)
        self.assertNotEqual(curr_pos, self.paned.sashpos(0))
        self.assertIsInstance(self.paned.sashpos(0), int)
theme_selector.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def _setup_widgets(self):
        themes_lbl = ttk.Label(self, text="Themes")

        themes = self.style.theme_names()
        self.themes_combo = ttk.Combobox(self, values=themes, state="readonly")
        self.themes_combo.set(themes[0])
        self.themes_combo.bind("<<ComboboxSelected>>", self._theme_sel_changed)

        change_btn = ttk.Button(self, text='Change Theme',
            command=self._change_theme)

        theme_change_checkbtn = ttk.Checkbutton(self,
            text="Change themes when combobox item is activated",
            variable=self.theme_autochange)

        themes_lbl.grid(ipadx=6, sticky="w")
        self.themes_combo.grid(row=0, column=1, padx=6, sticky="ew")
        change_btn.grid(row=0, column=2, padx=6, sticky="e")
        theme_change_checkbtn.grid(row=1, columnspan=3, sticky="w", pady=6)

        top = self.winfo_toplevel()
        top.rowconfigure(0, weight=1)
        top.columnconfigure(0, weight=1)
        self.columnconfigure(1, weight=1)
        self.grid(row=0, column=0, sticky="nsew", columnspan=3, rowspan=2)
test_widgets.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def test_sashpos(self):
        self.assertRaises(tkinter.TclError, self.paned.sashpos, None)
        self.assertRaises(tkinter.TclError, self.paned.sashpos, '')
        self.assertRaises(tkinter.TclError, self.paned.sashpos, 0)

        child = ttk.Label(self.paned, text='a')
        self.paned.add(child, weight=1)
        self.assertRaises(tkinter.TclError, self.paned.sashpos, 0)
        child2 = ttk.Label(self.paned, text='b')
        self.paned.add(child2)
        self.assertRaises(tkinter.TclError, self.paned.sashpos, 1)

        self.paned.pack(expand=True, fill='both')
        self.paned.wait_visibility()

        curr_pos = self.paned.sashpos(0)
        self.paned.sashpos(0, 1000)
        self.assertNotEqual(curr_pos, self.paned.sashpos(0))
        self.assertIsInstance(self.paned.sashpos(0), int)
audiojack_gui.py 文件源码 项目:audiojack-ui 作者: anilee 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def create_custom_frame(self):
        self.custom_frame = ttk.Frame(self.mainframe)
        self.custom_title = ttk.Label(self.custom_frame, text='Custom tags:')
        self.artist_label = ttk.Label(self.custom_frame, text='Artist: ')
        self.artist_input = Text(self.custom_frame, width=20, height=1, font=self.font)
        self.title_label = ttk.Label(self.custom_frame, text='Title: ')
        self.title_input = Text(self.custom_frame, width=20, height=1, font=self.font)
        self.album_label = ttk.Label(self.custom_frame, text='Album: ')
        self.album_input = Text(self.custom_frame, width=20, height=1, font=self.font)
        self.cover_art = ttk.Button(self.custom_frame, text='Browse for cover art', command=self.cover_art_browse)
        self.cover_art_path = Entry(self.custom_frame, width=20, font=self.font)
        self.custom_submit = ttk.Button(self.custom_frame, text='Download using custom tags', command=self.custom)
        self.custom_title.grid(row=0, columnspan=2)
        self.artist_label.grid(column=0, row=1)
        self.artist_input.grid(column=1, row=1)
        self.title_label.grid(column=0, row=2)
        self.title_input.grid(column=1, row=2)
        self.album_label.grid(column=0, row=3)
        self.album_input.grid(column=1, row=3)
        self.cover_art.grid(column=0, row=4)
        self.cover_art_path.grid(column=1, row=4)
        self.custom_submit.grid(row=5, columnspan=2, sticky=EW, pady=10)
        self.custom_frame.pack(pady=10)
audiojack_gui.py 文件源码 项目:audiojack-ui 作者: anilee 项目源码 文件源码 阅读 15 收藏 0 点赞 0 评论 0
def add_file(self):
        try:
            result = self.download_queue.get(0)
            if result == 0:
                self.error = ttk.Label(self.mainframe, text='Error: ffmpeg is not installed.', font=self.font, foreground='#ff0000')
                self.error.pack()
            else:
                self.file = result.replace('/', '\\')
                text = 'Open %s' % self.file
                self.file_button = ttk.Button(self.mainframe, text=text, command=partial(self.open_file, self.file))
                self.file_button.pack()
            self.enable_search()
            self.download_progress.pack_forget()
            self.download_progress.destroy()
            self.results_label.pack_forget()
            self.results_label.destroy()
            self.results_frame.pack_forget()
            self.results_frame.destroy()
        except Queue.Empty:
            self.master.after(100, self.add_file)
test_widgets.py 文件源码 项目:ndk-python 作者: gittor 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def test_sashpos(self):
        self.assertRaises(Tkinter.TclError, self.paned.sashpos, None)
        self.assertRaises(Tkinter.TclError, self.paned.sashpos, '')
        self.assertRaises(Tkinter.TclError, self.paned.sashpos, 0)

        child = ttk.Label(self.paned, text='a')
        self.paned.add(child, weight=1)
        self.assertRaises(Tkinter.TclError, self.paned.sashpos, 0)
        child2 = ttk.Label(self.paned, text='b')
        self.paned.add(child2)
        self.assertRaises(Tkinter.TclError, self.paned.sashpos, 1)

        self.paned.pack(expand=True, fill='both')
        self.paned.wait_visibility()

        curr_pos = self.paned.sashpos(0)
        self.paned.sashpos(0, 1000)
        self.assertTrue(curr_pos != self.paned.sashpos(0))
        self.assertTrue(isinstance(self.paned.sashpos(0), int))
pieface_gui.py 文件源码 项目:PIEFACE 作者: jcumby 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def raise_message(log):
    if "Label(s) %s are not present" in log.msg:
        box = tk.Toplevel(root)
        box.title('Error')
        message = ttk.Label(box, text = log.msg % log.args)
        labels = {}
        for f in app.filenames:
            labels[os.path.basename(f)] = " ".join(sorted(multiCIF._alllabels(f)))
        advice = ttk.Label(box, text = "Valid labels are:\n{0}".format( "".join( ["{0:40s}: {1:30s}\n".format(p, labels[p]) for p in labels] )))
        tip = ttk.Label(box, text="[ Tip: Regular expressions can also be used to centre labels ]")
        button = ttk.Button(box, text='OK', command= lambda: box.destroy())
        message.grid(row = 0, padx = 5, pady = 5)
        advice.grid(row = 1, padx = 5, pady = 5)
        tip.grid(row=2, padx=5, pady=5)
        button.grid(row = 3, padx = 5, pady = 5)
        root.wait_window(window=box)
    else:
        pass

    #tkMessageBox.showerror('Error',log.msg)
delete_dialog.py 文件源码 项目:Enrich2 作者: FowlerLab 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def body(self, master):
        """
        Generates the required text listing all elements that will be deleted.

        Displays the "OK" and "Cancel" buttons.
        """
        if len(self.id_tuples) == 0:
            message_string = "No elements selected."
        elif len(self.id_tuples) == 1:
            message_string = 'Delete "{}"?'.format(self.tree.get_element(self.id_tuples[0][0]).name)
        else:
            message_string = "Delete the following items?\n"
            for x, level in self.id_tuples:
                if level == 0:
                    bullet = "    " + u"\u25C6"
                else:
                    bullet = "    " * (level + 1) + u"\u25C7"
                message_string += u"{bullet} {name}\n".format(bullet=bullet, name=self.tree.get_element(x).name)
        message = ttk.Label(master, text=message_string, justify="left")
        message.grid(row=0, sticky="w")
seqlib_apply_dialog.py 文件源码 项目:Enrich2 作者: FowlerLab 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def body(self, master):
        """
        Generates the required text listing all SeqLibs that will have their FASTQ options updated.

        Displays the "OK" and "Cancel" buttons.
        """
        if len(self.target_ids) == 0:
            message_string = "No elegible SeqLibs selected."
        elif len(self.target_ids) == 1:
            message_string = 'Apply FASTQ filtering options from "{}" to "{}"?'.format(self.tree.get_element(self.source_id).name, self.tree.get_element(self.target_ids[0]).name)
        else:
            bullet = "    " + u"\u25C6"
            message_string = 'Apply FASTQ filtering options from "{}"" to the following?\n'.format(self.tree.get_element(self.source_id).name)
            for x in self.target_ids:
                message_string += u"{bullet} {name}\n".format(bullet=bullet, name=self.tree.get_element(x).name)
        message = ttk.Label(master, text=message_string, justify="left")
        message.grid(row=0, sticky="w")
metlab.py 文件源码 项目:metlab 作者: norling 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def _set_queue(self, queue):
        for child in self.queue.winfo_children():
            child.destroy()

        if queue != ["('None', 'running')"]:
            for item in queue:
                item, status = eval(item)
                item = item.split('/')[-1]
                queue_item = Frame(self.queue)
                item_label = Label(queue_item, text="%s:     %s" % (item, status))
                item_label.pack(side="left", anchor="nw")
                queue_item.pack(side='top', anchor='nw', fill=X)
gui.py 文件源码 项目:StochOPy 作者: keurfonluu 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def frame1_pop(self):
        if not self.frame1.first_run:
            self.frame1.pop.forget()
        self.frame1.pop = ttk.Frame(self.frame1, borderwidth = 0)
        self.frame1.pop.place(width = 170, height = 25, relx = 0.35, y = 30, anchor = "nw")
        if self.solver_name.get() in self.EAOPT:
            # popsize
            popsize_label = ttk.Label(self.frame1.pop, text = "Population size")
            popsize_spinbox = Spinbox(self.frame1.pop, from_ = 1, to_ = 999,
                                      increment = 1, textvariable = self.popsize,
                                      width = 3, justify = "right", takefocus = True)

            # Layout
            popsize_label.place(relx = 0, x = 0, y = 0, anchor = "nw")
            popsize_spinbox.place(width = 60, relx = 0, x = 110, y = 0, anchor = "nw")
gui.py 文件源码 项目:StochOPy 作者: keurfonluu 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def _label(self, text, position, kwargs = {}):
        label = ttk.Label(self.frame1.sliders, text = text, **kwargs)
        if position == 1:
            label.place(relx = 0, x = 0, y = 5, anchor = "nw")
        elif position == 2:
            label.place(relx = 0, x = 0, y = 50, anchor = "nw")
        elif position == 3:
            label.place(relx = 0.5, x = 0, y = 5, anchor = "nw")
        elif position == 4:
            label.place(relx = 0.5, x = 0, y = 50, anchor = "nw")
        return label
interface_test.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 34 收藏 0 点赞 0 评论 0
def set_title(self, title):
        ttk.Label(self.mainframe, text=title).grid(column=1, columnspan=4, row=0, sticky=(W,E))
interface_test.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def add_trace(self):
        ttk.Label(self.mainframe, text="\n".join(self.trace),wraplength=1000).grid(column=5, row=0, rowspan = 5, sticky=N+W)
interface_test.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 45 收藏 0 点赞 0 评论 0
def telling(self, phrase):
        for child in self.mainframe.winfo_children():
            child.destroy()
        self.add_emoji()
        self.add_trace()
        ttk.Label(self.mainframe, text=phrase, font=("Comic Sans MS", 20, "italic"), foreground="blue", wraplength=1000).grid(column=1, columnspan=4, row=0, sticky=N+S+E+W)


################################################
interface _test.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def set_title(self, title):
        ttk.Label(self.mainframe, text=title).grid(column=1, columnspan=4, row=0, sticky=(W,E))
interface _test.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def add_trace(self):
        ttk.Label(self.mainframe, text="\n".join(self.trace),wraplength=1000).grid(column=5, row=0, rowspan = 5, sticky=N+W)
interface.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def set_title(self, title):
        ttk.Label(self.mainframe, text=title).grid(column=1, columnspan=4, row=0, sticky=(W,E))
interface.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def add_trace(self):
        ttk.Label(self.mainframe, text="\n".join(self.trace),wraplength=1000).grid(column=5, row=0, rowspan = 5, sticky=N+W)
interface.py 文件源码 项目:Story_CoWriting 作者: alexis-jacq 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def telling(self, phrase):
        for child in self.mainframe.winfo_children():
            child.destroy()
        self.add_emoji()
        self.add_trace()
        ttk.Label(self.mainframe, text=phrase, font=("Comic Sans MS", 20, "italic"), foreground="blue", wraplength=1000).grid(column=1, columnspan=4, row=0, sticky=N+S+E+W)


################################################
gui_agent.py 文件源码 项目:pyktrader2 作者: harveywwu 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def qry_agent_histdata(self):
        instfield = 'QryInst'
        ent = self.entries[instfield]
        inst = ent.get()
        freqfield = 'HistFreq'
        fent = self.entries[freqfield]
        freq = fent.get()
        data = self.app.get_hist_data(inst, freq, nlen = 20)
        if len(data) == 0:
            return
        pos_win = tk.Toplevel(self)
        pos_frame = ScrolledFrame(pos_win)
        fields = data.dtype.names
        for idx, field in enumerate(fields):
            row_idx = 0
            tk.Label(pos_frame.frame, text=field).grid(row=row_idx, column=idx)
            for i in range(len(data)):
                row_idx += 1
                txt = data[field][i]
                if type(txt).__name__ == "datetime64":
                    if field == "date":
                        txt = pd.to_datetime(str(txt)).strftime("%Y-%m-%d")
                    else:
                        txt = pd.to_datetime(str(txt)).strftime("%Y-%m-%d %H%M%S")
                elif type(txt).__name__ in ['float', 'float64']:
                    txt = round(txt, 2)
                tk.Label(pos_frame.frame, text=txt).grid(row=row_idx, column=idx)
gui_option.py 文件源码 项目:pyktrader2 作者: harveywwu 项目源码 文件源码 阅读 14 收藏 0 点赞 0 评论 0
def show_risks(self, root):
        top_level   = tk.Toplevel(root)
        scr_frame = ScrolledFrame(top_level)
        fields = ['Name', 'Underlying', 'Contract', 'Otype', 'Stike', 'Price', 'BidPrice', 'BidIV', 'AskPrice', 'AskIV', 'PV', 'Delta','Gamma','Vega', 'Theta']
        for idx, field in enumerate(fields):
            tk.Label(scr_frame.frame, text = field).grid(row=0, column=idx)
        idy = 0
        for i, cmth in enumerate(self.cont_mth):
            for strike in self.strikes[i]:
                for otype in ['C','P']:
                    key = (cmth, otype, strike)
                    if key in self.opt_dict:
                        idy += 1
                        inst = self.opt_dict[key]
                        for idx, field in enumerate(fields):
                            if idx == 0:
                                txt = inst
                            elif idx == 1:
                                txt = self.underliers[i]
                            elif idx in [2, 3, 4]: 
                                txt = key[idx-2]
                            else:
                                factor = 1
                                if field in ['delta', 'gamma', 'BidIV', 'AskIV']: 
                                    factor = 100
                                txt = self.curr_insts[inst][field]*factor
                            tk.Label(scr_frame.frame, text = keepdigit(txt,3)).grid(row=idy, column=idx)


问题


面经


文章

微信
公众号

扫码关注公众号