Python Forum
tktable/ table on GUI
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
tktable/ table on GUI
#1
Hi, I have a question.

I came accross a code in the internet, which adds a table on the GUI. But I can not find any documentation on this.

So, please give me a hint how to add a dynamic table on GUI.

Thanks a lot

import tkinter as tk
import tktable

def table_test():
    #### DEFINES THE INTERFACE ####
    master = tk.Tk()
    master.geometry('500x200+250+200')
    master.title('Dogs')
    #### DEFINING THE TABLE ####
    tb = tktable.Table(master,
                       state='disabled',
                       width=50,
                       titlerows=1,
                       rows=5,
                       cols=4,
                       colwidth=20)
    columns = ['Breed','Price','Location','Age']
    #### LIST OF LISTS DEFINING THE ROWS AND VALUES IN THOSE ROWS ####
    values = [['Doodle','1500','Chicago','1'],
              ['Pug','700','Kansas City','2'],
              ['Westie','1000','Lincoln','1'],
              ['Poodle','900','Atlanta','2']]
    #### SETS THE DOGS INTO THE TABLE ####
    #### VVVVVVVVVVVVVVVVVVVVVVVVVVV ####
    #DEFINING THE VAR TO USE AS DATA IN TABLE
    var = tktable.ArrayVar(master)
    row_count=0
    col_count=0
    #SETTING COLUMNS
    for col in columns:
        index = "%i,%i" % (row_count,col_count)
        var[index] = col
        col_count+=1
    row_count=1
    col_count=0
    #SETTING DATA IN ROWS
    for row in values:
        for item in row:
            print(item)
            index = "%i,%i" % (row_count,col_count)
            ## PLACING THE VALUE IN THE INDEX CELL POSITION ##
            var[index] = item
            #### IGNORE THIS IF YOU WANT, JUST SETTING SOME CELL COLOR ####
            try:
                if int(item) > 999:
                    tb.tag_cell('green',index)
            except:
                pass
            ###############################################################
            col_count+=1       
        col_count=0
        row_count+=1
    #### ABOVE CODE SETS THE DOG INTO THE TABLE ####
    ################################################
    #### VARIABLE PARAMETER SET BELOW ON THE 'TB' USES THE DATA DEFINED ABOVE ####
    tb['variable'] = var
    tb.pack()
    #tb.tag_cell('green',index)
    tb.tag_configure('green', background='green')
    #### MAINLOOPING ####
    tk.mainloop()
table_test()
Reply
#2
tktable is not part of tkinter.
This must be a routine written by author.
It should be in same repository as where this code came from.
Reply
#3
Here is the docs.
https://www.eso.org/projects/vlt/sw-dev/...Table.html
Reply
#4
Again, this looks like it was written by the European Southern Observatory.
It's not officially a part of tkinter I don't see tkinter mentioned in this
document either, but I do see tk which is what tkinter is wrapped around.
So I checked tkinter.ttk and:
>>> from tkinter import ttk
>>> help('ttk.tktable')
No Python documentation found for 'ttk.tktable'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.

>>>
And:
>>> help('tkinter.tktable')
No Python documentation found for 'tkinter.tktable'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.

>>>
doesn't appear to be part of that either.
There are ways to integrate raw tk into tkinter, I've never done it myself,
but you might want to take a look at: https://docs.python.org/3/library/tkinter.html
Looks like a good class though!

So, now you have the docs,
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  set value in tktable gray 2 3,765 Feb-22-2018, 12:37 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

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