Python Forum
sQlite3 output to tkinter treeview - how do I set / increase width of the output?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sQlite3 output to tkinter treeview - how do I set / increase width of the output?
#1
Hello,
Brand new to posting in this forum so hello all.

I do not seem to be able to increase the width of the output from an sQlite3 DB table.
The output is delivered in full, and I am clueless as to how to change it.
I'm sure the solution is straightforward. Too much of a newbie... any help very gratefully received.

This is my current output:
My current output




def showCustTable():
   showCustTableWin=Tk()
   showCustTableWin.title("* Customer Table *")
   showCustTableWin.geometry("850x350")
   showCustTableWin.wm_iconbitmap('favicon.ico')

   def View():
      myshop_db  = sqlite3.connect("myshop_db.db")
      c = myshop_db.cursor()
      c.execute('''SELECT * FROM Customers''')

      rows = c.fetchall()
      for row in rows:
         tree.insert("",tk.END, values = row)
      myshop_db.commit()
      myshop_db.close()

   frame1 = Frame(showCustTableWin, width=850, height=350,bd=15,relief="raise")
   frame1.pack()

   tree= ttk.Treeview(frame1, column=("column1", "column2", "column3", "column4", "column5", "column6", "column7"), show='headings')
   tree.heading("#1", text="CUST#")
   tree.column("#1", width = 5, anchor = "w")
   tree.heading("#2", text="NAME")
   tree.column("#2", width = 25, anchor = "w")
   tree.heading("#3", text="ADDRESS")
   tree.column("#3", width = 30, anchor = "w")
   tree.heading("#4", text="CITY")
   tree.column("#4", width = 15, anchor = "w")
   tree.heading("#5", text="POSTCODE")
   tree.column("#5", width = 15, anchor = "w")
   tree.heading("#6", text="TEL")
   tree.column("#6", width = 15, anchor = "w")
   tree.heading("#7", text="EMAIL")
   tree.column("#7", width = 35, anchor = "w")
   tree.pack()   
   View()
   
Again, thank you very much in advance for having a look. :)
Reply
#2
I have example of that in one o f my projects here: https://github.com/Larz60p/CaliforniaPublicSalaries
see src/CaCompGui.py for entire code
        self.download_tree = ttk.Treeview(frame3b,
                                          height=self.treeheight_download,
                                          padding=(2, 2, 2, 2),
                                          selectmode="extended")
        self.download_tree.heading('#0', text='Files to download',
                                   anchor=tk.CENTER)
        self.download_tree.column('#0', stretch=tk.YES, width=400)

        tree_down_scrolly = tk.Scrollbar(frame3b, orient=tk.VERTICAL,
                                         command=self.download_tree.yview)

        tree_down_scrolly.grid(row=0, rowspan=self.treeheight_download,
                               column=4, sticky='ns')

        tree_down_scrollx = tk.Scrollbar(frame3b, orient=tk.HORIZONTAL,
                                         command=self.download_tree.xview)
        tree_down_scrollx.grid(row=self.treeheight_download + 1, column=0,
                               columnspan=4, sticky='ew')
        self.download_tree.configure(yscroll=tree_down_scrolly)
        self.download_tree.configure(xscroll=tree_down_scrollx)
        self.download_tree.grid(row=0, rowspan=self.treeheight_download,
column=1, columnspan=3, sticky='nsew')
Reply
#3
Hey Larz60+,

Well it was that simple - thanks loads for that. Simply added "stretch=tk.YES" and expanded my width's and its done. Thank you for solving this for me. I can move on in my coding now. Much appreciated :)

I would like to see the whole code from your example above but couldn't find it using your link "src/CaCompGui.py". I'm not sure how do open it from there?

Thank you again,
:)
Reply
#4
Quote:I would like to see the whole code from your example above but couldn't find it using your link "src/CaCompGui.py". I'm not sure how do open it from there?
just go to start of project: https://github.com/Larz60p/CaliforniaPublicSalaries
click clone or download button and get it all.

There are three modules in src, you need the __init__.py even though it's empty
keep the file structure as it is, you will find another __init__.py file in the top directory, this is important as it tells the rest of the project where imports are located.
You can find a plethora of projects, and add your own, to pypi.org, each is usually backed up with a github repository, and can be downloaded to any directory by:
using git clone (need to install git once, see below).

The directory structure in this project works well if you use a virtual environment, which you should at some point start doing.

to see how to do this (virtual environment), look at the following tutorials:
If OS is Linux: https://python-forum.io/Thread-Part-1-Li...nvironment
For windows: https://python-forum.io/Thread-Part-2-Py...nt-Windows

Once you start using virtual environments, you will always use them because they make keeping projects isolated, and later packaging, much easier to do. Each can have it's own version of python, and only contain needed packages for the project.

Git:
You can install git for any platform here: https://git-scm.com/downloads
once you have installed git, you can clone any repository, including the one I mentioned in post 2, using the following (from command line):
  • Navigate to or create the directory where you wish to clone a package.
  • Clone using the following command (for the package I showed above)
    git clone https://github.com/Larz60p/CaliforniaPublicSalaries
  • That's all there is to it
Reply
#5
Really sorry, Larz,

Just realised I hadn't thanked you for your detailed and really helpful response. This is really kind and I'm rude.

I'm still wrestling with my program but this is a great help.

Thank you very much.. great work :)
Reply
#6
Your welcome anytime
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] [split] Is there a way to embed a treeview as a row inside another treeview? CyKlop 0 44 Yesterday, 05:31 PM
Last Post: CyKlop
  Tkinter | entry output. Sap2ch 1 186 Sep-25-2021, 12:38 AM
Last Post: Yoriz
  How to show terminal output in GUI Rubberduck 2 579 May-29-2021, 09:01 AM
Last Post: Rubberduck
  tkinter - update/refresh treeview snakes 4 3,242 May-13-2021, 07:10 AM
Last Post: snakes
  Button to clear all output labels? AnunnakiKungFu 5 1,049 Dec-18-2020, 10:12 AM
Last Post: backoboy10
  Tkinter Shell Terminal Or Shell Output sweetthdevil 3 2,585 Dec-02-2020, 12:33 AM
Last Post: Larz60+
  [Tkinter] acceleration of data output in treeview tkinter Vladimir1984 4 1,137 Nov-21-2020, 03:43 PM
Last Post: Vladimir1984
  [PyGUI] How to format output from layout and keys thruss 2 859 Oct-16-2020, 04:38 AM
Last Post: tonyvinton
  Displaying output in GUI ( Tkinter) Zouloutamtam 7 5,715 Sep-29-2020, 02:08 PM
Last Post: Zouloutamtam
  [Kivy] output label just_me 0 1,418 Aug-02-2020, 03:21 PM
Last Post: just_me

Forum Jump:

User Panel Messages

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