Python Forum
[Tkinter] TKK, tree.pack and get size from os
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] TKK, tree.pack and get size from os
#1
Hello everyone, could you please give me some suggestion on how I can pass the values from os to tkinter in the case below?

from tkinter import *
from tkinter import ttk
import os

master = Tk()
master.geometry("800x800")
master.configure(background='#3c485f')
tree = ttk.Treeview(master)
tree["columns"] = ("one", "two")
tree.column("one", width=100)
tree.column("two", width=100)
tree.heading("one", text="DataBaseName")
tree.heading("two", text="FileGroup")

# pick a folder you have ...
folder = 'Y:'
folder_size = 0
for (path, dirs, files) in os.walk(folder):
  for file in files:
    filename = os.path.join(path, file)
    folder_size += os.path.getsize(filename)


    tree.insert("", 0, text="Normal", values=(filename,(folder_size/(1024*1024.0)),folder_size)
    tree.pack(expand=True, fill='y')


I use the tree a lot with pyodbc but I am kind of stuck using the file system result. The error is:

tree.pack(expand=True, fill='y')
^
SyntaxError: invalid syntax

Process finished with exit code 1

Many Thanks, I hope I can reply the favor in some SQL forum.

Resolved, a simple missing bracket.
Reply
#2
  • missing closing parenthesis on line 24
  • missing mainloop() at end
  • Trying to pack on each iteration of loop
  • indentation issues

from tkinter import *
from tkinter import ttk
import os
 
master = Tk()
master.geometry("800x800")
master.configure(background='#3c485f')
tree = ttk.Treeview(master)
tree["columns"] = ("one", "two")
tree.column("one", width=100)
tree.column("two", width=100)
tree.heading("one", text="DataBaseName")
tree.heading("two", text="FileGroup")
tree.pack(expand=True, fill='y')

# pick a folder you have ...
folder = 'Y:'

folder_size = 0
filename = None

for (path, dirs, files) in os.walk(folder):
    for file in files:
        filename = os.path.join(path, file)
        folder_size += os.path.getsize(filename)
    ff = folder_size/(1024*1024.0)

    tree.insert("", 0, text="Normal", values=(filename,ff,folder_size))

tree.pack(expand=True, fill='y')
master.mainloop()
I also moved pack (better to declare after widget
Reply
#3
Thnaks Larz60+
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Trying to change font size w/o changing button size python63 3 9,815 Aug-05-2020, 01:04 AM
Last Post: Larz60+
  [Tkinter] Treeview automatically adjust it's size when pack inside frame Prince_Bhatia 1 27,778 Jul-25-2018, 03:24 AM
Last Post: Larz60+
  PyGtk3 why is Locale Folder Size Half of Module Size ? harun2525 1 3,613 Mar-09-2017, 03:46 AM
Last Post: Analyser

Forum Jump:

User Panel Messages

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