Python Forum
bind hover on tkinter.ttk.Treeview
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
bind hover on tkinter.ttk.Treeview
#2
import tkinter as tk
import tkinter.ttk as ttk


class TreeBuilder():

    def __init__(self, parent):
        self.parent = parent
        self.build()

    def build(self):

        self.tree = ttk.Treeview(self.parent)

        self.tree["columns"]=("one","two")
        self.tree.column("one", width=100 )
        self.tree.column("two", width=100)
        self.tree.heading("one", text="coulmn A")
        self.tree.heading("two", text="column B")

        self.tree.insert("" , 0,    text="Line 1", values=("1A","1b"))

        id2 = self.tree.insert("", 1, "dir2", text="Dir 2")
        self.tree.insert(id2, "end", "dir 2", text="sub dir 2", values=("2A","2B"))

        # or alternatively:
        self.tree.insert("", 3, "dir3", text="Dir 3")
        self.tree.insert("dir3", 3, text=" sub dir 3",values=("3A"," 3B"))

        # Here begins the key step
        self.tree.tag_configure('focus', background='yellow')
        self.tree.bind("<Motion>", self.mycallback)

        self.last_focus = None

        # ................................................
        self.tree.pack()



    def mycallback(self, event):

        _iid = self.tree.identify_row(event.y)

        if _iid != self.last_focus:
            if self.last_focus:
                self.tree.item(self.last_focus, tags=[])
            self.tree.item(_iid, tags=['focus'])
            self.last_focus = _iid


if __name__=='__main__':

    root = tk.Tk()
    tree = TreeBuilder(root)
    root.mainloop()
Reply


Messages In This Thread
bind hover on tkinter.ttk.Treeview - by Larz60+ - Jan-21-2017, 03:46 AM
RE: bind hover on tkinter.ttk.Treeview - by hugo_chillon - May-19-2017, 11:27 PM
RE: bind hover on tkinter.ttk.Treeview - by Larz60+ - May-20-2017, 03:01 AM
RE: bind hover on tkinter.ttk.Treeview - by Larz60+ - May-20-2017, 10:28 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  tkinter - update/refresh treeview snakes 5 21,217 Dec-02-2023, 07:05 PM
Last Post: aynous19
  [Tkinter] How to insert data json to treeview tkinter? Shakanrose 8 4,620 Jan-19-2023, 03:58 PM
Last Post: Shakanrose
  [Tkinter] Different rows colours in treeview tkinter Krissstian 1 1,329 Nov-20-2022, 09:59 PM
Last Post: woooee
  [PyQt] Hover over highlighted text and open popup window DrakeSoft 2 1,575 Oct-29-2022, 04:30 PM
Last Post: DrakeSoft
  [Tkinter] bind menator01 1 1,279 Apr-15-2022, 08:47 PM
Last Post: menator01
  [Tkinter] About Tkinter Treeview.selection_get() usage. water 3 8,492 Feb-12-2022, 02:19 PM
Last Post: water
  [Tkinter] [split] Is there a way to embed a treeview as a row inside another treeview? CyKlop 5 3,444 Oct-20-2021, 12:14 AM
Last Post: CyKlop
  [Tkinter] Glow text of clickable object on hover with transition andy 6 6,228 May-11-2021, 07:39 AM
Last Post: andy
  [Tkinter] bind lambda keypress counter knoxvilles_joker 15 7,957 Apr-19-2021, 01:56 AM
Last Post: knoxvilles_joker
  [Tkinter] acceleration of data output in treeview tkinter Vladimir1984 4 4,269 Nov-21-2020, 03:43 PM
Last Post: Vladimir1984

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020