From b348eee285a3c56823a08edff3d650a1e6265f45 Mon Sep 17 00:00:00 2001 From: jens Date: Mon, 14 Dec 2020 09:50:32 +0100 Subject: [PATCH] in the middle of methods --- JFSphoto.py | 15 +++++---------- test_tree1.py | 32 ++++++++++++++++++++++++++++++++ test_treeview.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ tklib.py | 15 +++++++++++++++ 4 files changed, 96 insertions(+), 10 deletions(-) create mode 100644 test_tree1.py create mode 100644 test_treeview.py create mode 100644 tklib.py diff --git a/JFSphoto.py b/JFSphoto.py index 1f1aea9..c768845 100644 --- a/JFSphoto.py +++ b/JFSphoto.py @@ -320,7 +320,7 @@ class Jfsphoto (object): else: self.kbtn.config(relief='sunken') self.do_3dprint() - + win = tk.Toplevel() self.center = tk.Frame(win, bg='gray2', width=800, height=400, padx=3, pady=3) self.center.grid_rowconfigure(0, weight=1) @@ -354,11 +354,6 @@ class Jfsphoto (object): self.kbtn = tk.Button(master=self.ctr_right,text="3 D Print",command=toggle,width=15,relief='raised') self.kbtn.grid(row=17,column=0,sticky="w") - #self.scrollbar = tk.Scrollbar(master=self.ctr_right) - #self.listbox.config(yscrollcommand =self.scrollbar.set) - #self.scrollbar.config(command = self.listbox.yview) - - if self.calculate() : self.show_first_look() else: @@ -416,10 +411,10 @@ class Jfsphoto (object): self.ok.set(1) self.canvas.draw() - def kini(self): - self.load_kinetics("kini.dat") - self.calculate() - self.show_first_look() + # def kini(self): + # self.load_kinetics("kini.dat") + # self.calculate() + # self.show_first_look() def do_get_range(self): diff --git a/test_tree1.py b/test_tree1.py new file mode 100644 index 0000000..051b2b0 --- /dev/null +++ b/test_tree1.py @@ -0,0 +1,32 @@ +import tkinter as tk +from tkinter import ttk + +root = tk.Tk() + +tree = ttk.Treeview(root) +tree.grid() +def cb(event): + print(event, tree.selection(), tree.focus()) + +tree.tag_bind('cb','<1>',cb) +tree.tag_bind('cb','<>',cb) +tree.tag_bind('cb', '<>', cb) +tree.tag_bind('cb', '<>', cb) + + + +tree.insert('', 'end', 'widgets', text='Widgets',tags=('cb')) +tree.insert('', 0, 'apps', text='Applications',tags=('cb')) + +tree['columns'] = ('size', 'modified') +tree.column('size', width=50, anchor='center') +tree.heading('size', text='Size') +tree.heading('modified', text='Modified') + +tree.set('widgets', 'size', '12KB') +tree.set('widgets', 'modified', 'Last week') + +tree.insert('', 'end', text='Canvas', values=('25KB Today'),tags=('cb')) +tree.insert('apps', 'end', text='Browser', values=('115KB Yesterday'),tags=('cb')) + +root.mainloop() \ No newline at end of file diff --git a/test_treeview.py b/test_treeview.py new file mode 100644 index 0000000..e1651d5 --- /dev/null +++ b/test_treeview.py @@ -0,0 +1,44 @@ +import tkinter as tk +from tkinter import ttk + +class ButtonTree(ttk.Frame): + def __init__(self, parent, items): + ttk.Frame.__init__(self, parent) + self.parent = parent + self.items = items + self.tree = MyTree(self, items) + self.tree.grid(column=0, row=0, sticky=tk.N) + self.buttons = ttk.Frame(self, width=100) + self.buttons.grid(column=1, row=0, sticky=tk.N) + #print(self.tree.config()) + + def create_buttons(self): + self.update() + so_far = header_height = 16 + 2 + ttk.Frame(self.buttons).place(in_=self.buttons, x=0, y=0, width=100, height=header_height) + + for item_name, item in zip(self.tree.get_children(), self.items): + print(item_name, item,self.tree.bbox(item_name)) + button = ttk.Button(self.buttons, text = "Do Something...") + h = self.tree.bbox(item_name)[-1] + button.place(in_=self.buttons, x=0, y=so_far, width=100, height=h) + so_far += h + self.buttons["height"] = len(self.items)*20 + header_height + +class MyTree(ttk.Treeview): + def __init__(self, parent, items): + ttk.Treeview.__init__(self, parent, columns = ("A"), padding=1) + self.heading("A", text = "Some A") + self.parent = parent + self.items = items + for item in self.items: + self.insert(parent = "", index = "end", text = item, values = "hello") + + + +if __name__ == "__main__": + root = tk.Tk() + buttonTree = ButtonTree(root, list(range(10))) + buttonTree.pack() + #buttonTree.create_buttons() + root.mainloop() \ No newline at end of file diff --git a/tklib.py b/tklib.py new file mode 100644 index 0000000..ff9ea58 --- /dev/null +++ b/tklib.py @@ -0,0 +1,15 @@ +import tkinter as tk + +class App: + """Define the application class.""" + def __init__(self): + + self.root = tk.Tk() + self.label = tk.Label(self.root, text='hello world!', font='Arial 24') + self.label.grid() + + def run(self): + """Run the main loop.""" + self.root.mainloop() + +App().run() \ No newline at end of file