python类Treeview()的实例源码

Jiffy.py 文件源码 项目:Jiffy 作者: h5rdly 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def scaledown(self, event):
        self.font['size']-=1
        self.style.configure('SearchBox.Treeview', rowheight=self.font.metrics('linespace')+1)
configurator.py 文件源码 项目:Enrich2 作者: FowlerLab 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def menu_selectall(self):
        """
        Add all elements in the Treeview to the selection.
        """
        for k in self.element_dict.keys():
            self.treeview.selection_add(k)
configurator.py 文件源码 项目:Enrich2 作者: FowlerLab 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def delete_element(self, tree_id):
        """
        Delete element with Treeview id *tree_id* from the tree, from the element 
        dictionary, and from the associated data structure. Recursively 
        deletes all children of *tree_id*.

        The tree should be refreshed using :py:meth:`refresh_tree` after 
        each deletion. This is the responsibility of the caller.

        """
        #if self.treeview.exists(tree_id):
        if tree_id in self.element_dict:
            # recursively delete children
            if self.element_dict[tree_id].children is not None:
                for child in self.element_dict[tree_id].children:
                    self.delete_element(child.treeview_id)

            # check if deleting the root element
            if self.root_element.treeview_id == tree_id:
                # clear the root element
                self.root_element = None
            else:
                try:
                    # remove the element from its parent's list of children
                    self.element_dict[tree_id].parent.remove_child_id(tree_id)
                except AttributeError:
                    raise AttributeError("Non-root element lacks proper parent")

            # delete the element from the dictionary
            del self.element_dict[tree_id]
configurator.py 文件源码 项目:Enrich2 作者: FowlerLab 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def refresh_treeview(self):
        """
        Clears the Treeview and repopulates it with the current contents of the tree.
        """
        # clear the entries in the Treeview
        for x in self.treeview.get_children():
            self.treeview.delete(x)

        # clear the id-element dictionary
        # elements may be given new id's after repopulation
        self.element_dict.clear()

        # repopulate
        if self.root_element is not None:
            self.populate_tree(self.root_element)
configurator.py 文件源码 项目:Enrich2 作者: FowlerLab 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def get_selected_elements(self):
        """
        Returns a list of elements that are currently selected in the Treeview.

        If no elements are selected, it returns an empty list.
        """
        return [self.get_element(x) for x in self.treeview.selection()]
test_bookmarls.py 文件源码 项目:rig-remote 作者: Marzona 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def test_save_gqrx():
    tree = ttk.Treeview(columns=("frequency",
                                 "mode",
                                 "description",
                                 "lockout"),
                        displaycolumns=("frequency",
                                        "mode",
                                        "description"),
                        show="headings")
    bk = Bookmarks(tree, io=IO())
    bk.bookmarks.csv_save = MagicMock()
    bk.bookmarks.return_value = None
    bk._save_gqrx("test")
    assert (isinstance(bk.bookmarks.row_list, list))
    assert (len(bk.bookmarks.row_list) == 0)
recipe-580752.py 文件源码 项目:code 作者: ActiveState 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def __init__(self, master, xml=None, heading_text=None, heading_anchor=None, padding=None, cursor=None, takefocus=None, style=None):
        Frame.__init__(self, master, class_="XML_Viwer")

        self._vsb = Scrollbar(self, orient=VERTICAL)
        self._hsb = Scrollbar(self, orient=HORIZONTAL)

        kwargs = {}
        kwargs["yscrollcommand"] = lambda f, l: autoscroll(self._vsb, f, l)
        kwargs["xscrollcommand"] = lambda f, l: autoscroll(self._hsb, f, l)

        if style is not None:
            kwargs["style"] = style

        if padding is not None:
            kwargs["padding"] = padding

        if cursor is not None:
            kwargs["cursor"] = cursor

        if takefocus is not None:
            kwargs["takefocus"] = takefocus

        self._treeview = Treeview(self, **kwargs)

        if heading_text is not None:
            if heading_anchor is not None:
                self._treeview.heading("#0", text=heading_text, anchor=heading_anchor)
            else:
                self._treeview.heading("#0", text=heading_text)

        self._treeview.bind("<<TreeviewOpen>>", self._on_open)
        self._treeview.bind("<<TreeviewClose>>", self._on_close)

        # Without this line, horizontal scrolling doesn't work properly.
        self._treeview.column("#0", stretch= False)

        self._vsb['command'] = self._treeview.yview
        self._hsb['command'] = self._treeview.xview

        self._treeview.grid(column=0, row=0, sticky=N+S+W+E)
        self._vsb.grid(column=1, row=0, sticky=N+S)
        self._hsb.grid(column=0, row=1, sticky=E+W)

        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)

        self._element_tree = None
        self._item_ID_to_element = {}

        if xml is not None:
            self.parse_xml(xml)
TkGUIFirstScreen.py 文件源码 项目:TabInOut 作者: nikolamilosevic86 项目源码 文件源码 阅读 15 收藏 0 点赞 0 评论 0
def LoadFirstCfGScreen(project_name):
    top = Tix.Toplevel()
    top.protocol("WM_DELETE_WINDOW", on_closing)
    top.title("Table InfExtractor")
    top.geometry('{}x{}'.format(500, 500))
    topframe = Tix.Frame(top,height=10)
    topframe.pack()
    frame = Tix.Frame(top)
    frame.pack()
    topframe2 = Tix.Frame(top,height=10)
    topframe2.pack()
    middleframe = Tix.Frame(top)
    middleframe.pack()
    bottomframe2 = Tix.Frame(top,height=10)
    bottomframe2.pack( side = Tix.BOTTOM )
    bottomframe = Tix.Frame(top)
    bottomframe.pack( side = Tix.BOTTOM )

    name = Tix.StringVar()
    label_name = Tix.Label(frame,textvariable=name)
    name.set("Name of task:")
    label_name.pack(side = Tix.LEFT)
    name2 = Tix.StringVar()
    label_name2 = Tix.Label(frame,textvariable=name2)
    name2.set(project_name)
    label_name2.pack(side = Tix.LEFT)
    ConfigureDB = Tix.Button(frame, text="Configure Database", fg="black",command=lambda: ConfigureDatabaseScreen(project_name))
    ConfigureDB.pack( side = Tix.LEFT)
    clearTable = Tix.Button(frame, text="Clear DB Table", fg="black",command = lambda: ClearDBTables(project_name))
    clearTable.pack( side = Tix.LEFT)
    vars = FileManipulationHelper.loadVariables(project_name)
    Lb1 = ttk.Treeview(middleframe,columns=40,height=19)

    Lb1.pack()
    size = Lb1.size()
    for var in vars:
        Lb1.insert('', 'end', var, text=var)
        rules = FileManipulationHelper.loadRules(project_name,var)
        for rule in rules:
            Lb1.insert(var, 'end', text=rule)
        #Lb1.insert(size,rule)
        size = Lb1.size()
    AddVariables = Tix.Button(bottomframe, text="Add Variable", fg="black", command=lambda:AddVariable(project_name, Lb1))
    AddVariables.pack(side=Tix.LEFT)

    AddRules = Tix.Button(bottomframe, text="Add Rule", fg="black",command=lambda:AddEditRule(project_name,Lb1))
    AddRules.pack( side = Tix.LEFT)
    DeleteRule = Tix.Button(bottomframe, text="Delete Rule", fg="black",command=lambda:RemoveRule(Lb1,project_name))
    DeleteRule.pack( side = Tix.LEFT)
    EditRuleA = Tix.Button(bottomframe, text="Edit Rule", fg="black",command=lambda:EditRule(project_name,Lb1))
    EditRuleA.pack( side = Tix.LEFT)
    #MoveUpRule = Tix.Button(bottomframe, text="Move Up Rule", fg="black",command=lambda:MoveRuleUp(Lb1))
    #MoveUpRule.pack( side = Tix.LEFT)
    #MoveDownRule =Tix.Button(bottomframe, text="Move Down Rule", fg="black",command=lambda:MoveRuleDown(Lb1))
    #MoveDownRule.pack( side = Tix.LEFT)
    skip_val = 0
    Next = Tix.Button(bottomframe, text="Next", bg="green", command=lambda:MakeWorkingScreen(rules, top,project_name,skip_val))
    Next.pack( side = Tix.LEFT)


问题


面经


文章

微信
公众号

扫码关注公众号