Python Forum
Column headers not aligning properly with table
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Column headers not aligning properly with table
#1
Hello all,
I cannot seem to get the column headers to align properly with my table.
The column headers have to be in a separate frame than the table, because I will be adding a scrollbar on the table. Below is a screenshot of the output and the code.
Any help would be appreciated.
Thanks in advance.

[Image: UzkCoCT]

from tkinter import *
from tkinter import ttk
from pathlib import Path

def data_table(frame,col_widths):
    # Create and populate values array
    for i in range(0,max_rows):
           values.append([])
           j = 0
           values[i].append(StringVar())
           cb = ttk.Combobox(frame,width=col_widths[j],textvariable=values[i][j])
           cb.grid(row=i,  column= j)

           j += 1
           values[i].append(StringVar())
           ent = Entry(frame,width=col_widths[j],textvariable=values[i][j])
           ent.grid(row=i,  column= j)

           j += 1
           values[i].append(StringVar())
           ent = Entry(frame,width=col_widths[j],textvariable=values[i][j])
           ent.grid(row=i,  column= j)

           j += 1
           values[i].append(BooleanVar())  # readonly
           cb = ttk.Checkbutton(frame,width=col_widths[j],onvalue=1,offvalue=0,variable=values[i][j])
           cb.grid(row=i,  column= j)

           j += 1
           values[i].append(BooleanVar())  # Copy
           cb = ttk.Checkbutton(frame,width=col_widths[j],onvalue=1,offvalue=0,variable=values[i][j])
           cb.grid(row=i,  column= j)

           j += 1
           values[i].append(BooleanVar())  # mandatory
           cb = ttk.Checkbutton(frame,width=col_widths[j],onvalue=1,offvalue=0,variable=values[i][j])
           cb.grid(row=i,  column= j)

           j += 1
           values[i].append(StringVar())  # sort order
           ent = Entry(frame,width=col_widths[j],textvariable=values[i][j])
           ent.grid(row=i,  column= j)

           j += 1
           values[i].append(BooleanVar())  # removed
           cb = ttk.Checkbutton(frame,width=col_widths[j],onvalue=1,offvalue=0,variable=values[i][j])
           cb.grid(row=i,  column= j)


if __name__ == "__main__":
    current_file = Path(__file__).stem
    mw=Tk()
    mw.geometry('1000x500+200+150')
    mw.title(current_file)

    frame4 = Frame(mw)
    frame5 = Frame(mw)
    frame4.pack(side=TOP,fill=X)
    frame5.pack(side=TOP,fill=X)


    headers = ["Field Name","Field Label","Default Value","ReadOnly","Copy","Mandatory","Sort Order","Remove"]
    col_widths = [20,20,20,8,8,8,10,6]
    column = 0
    for header in headers:
        l1 = Label(frame4,relief=FLAT,width=col_widths[column],text=header,anchor="w",justify="left")
        l1.grid(row=0,column= column)
        column += 1

    values = []
    max_rows = 10
    data_table(frame5,col_widths)

    mw.mainloop()
Reply


Messages In This Thread
Column headers not aligning properly with table - by kenwatts275 - Jul-11-2020, 08:01 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Aligning Python Tkinter Buttons In Rows TollyThaWally 3 8,074 Feb-22-2018, 02:56 AM
Last Post: woooee
  which column of sql table is equal to a variable gray 7 6,112 Mar-20-2017, 04:11 AM
Last Post: nilamo

Forum Jump:

User Panel Messages

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