I've used 'for' loops to create tables made from 'Label' objects. Apart from the 'divider', each loop appends to it's own two-dimensional array(each column has thirteen 'Labels'); I wanted to give every object an index position within their respective tables, so that I can then reference those points and alter the contents of the 'Label'.
#--------------------------------
entry_grid_exp=[]
entry_grid_req=[]
#--------------------------------
exp_list = Frame(program, bg="#dcdcdc", height=500, width=600)
exp_list.grid(row=3, column=1)
#--------------------------------
for i in range(1, 16):
entry_column=[]
for x in range(0, 13):
entry_column.append(Label(exp_list, width=15,bg="#FFFFFF",relief=SUNKEN))
entry_column[x].grid(row = x+6, column=i, padx=0, pady=0)
entry_grid_exp.append(entry_column)
Request_list = Label(exp_list, width=10, bg="#dcdcdc", fg="#000000", text="Requested list.")
Request_list.grid(row = 20, column=1)
for i in range(1,16):
box3 = Label(exp_list, width=10, bg="#dcdcdc", fg="#dcdcdc", text="divider")
box3.grid(row = 21, column=i)
for i in range(1, 16):
entry_column=[]
for x in range(0, 6):
entry_column.append(Label(exp_list, width=15,bg="#FFFFFF",relief=SUNKEN))
entry_column[x].grid(row = x+21, column=i, padx=0, pady=0)
entry_grid_req.append(entry_column)
#--------------------------------
A submit button calls the function 'stock_append' and passes on the 'entry_grid_exp' and 'entry_grid_req' arguments. I read a post which said that placing the list into a 'for' loop and attributing every item within the list to 'Label' will allow me to call the 'configure' function, but it doesn't seem to work. Additionally this loop (if it worked) would configure every item within 'entry_grid_exp' rather than one specific position.
def stock_append(entry_grid_exp, entry_grid_req):
for Label in entry_grid_exp:
Label.configure(text="test")
I'm trying to complete this project and am completely lost, and absolutely appreciate any help because I have no idea what I'm doing.
UPDATED EXAMPLE
from tkinter import *
root = Tk()
Med_font = ("Helvatica", 11)
Small_font = ("Helvatica", 9)
main = Frame(root, bg="#dcdcdc", height=600, width=600)
main.grid()
s_name = StringVar()
s_category = StringVar()
s_description = StringVar()
s_quantity = StringVar()
s_risk = StringVar()
s_ID = StringVar()
def stock_append(entry_grid_exp, entry_grid_req, program):
for item in entry_grid_exp:
Label.configure(program, text="test")
def stock_define(entry_grid_exp, entry_grid_req, program):
stock_frame = Frame(main, bg="#dcdcdc", height=100, width=1000)
stock_frame.grid()
name = Entry(stock_frame, width=15, textvariable=s_name)
name.grid(row=1, column=1, padx=10)
category = Entry(stock_frame, width=15, textvariable=s_category)
category.grid(row=1, column=2, padx=10)
description = Entry(stock_frame, width=15, textvariable=s_description)
description.grid(row=1, column=3, padx=10)
quantity = Entry(stock_frame, width=15, textvariable=s_quantity)
quantity.grid(row=1, column=4, padx=10)
risk = Entry(stock_frame, width=15, textvariable=s_risk)
risk.grid(row=1, column=5, padx=10)
stock_id = Entry(stock_frame, width=15, textvariable=s_ID)
stock_id.grid(row=1, column=6, padx=10)
submit = Button(stock_frame, width=15, text="submit", command=lambda: stock_append(entry_grid_exp, entry_grid_req,
program))
submit.grid(row=1, column=7, padx=10)
def stock_lists():
program = Frame(main, bg="#dcdcdc", height=600, width=600)
program.grid()
title = Label(program, text="MAIN", font=Med_font, bg="#dcdcdc")
title.grid(row=2, column=1)
entry_grid_exp = []
entry_grid_req = []
exp_list = Frame(program, bg="#dcdcdc", height=500, width=600)
exp_list.grid(row=3, column=1)
stock_add = Button(exp_list, bg="#bebebe", width=10, text="ADDSTCK", command=lambda: stock_define(entry_grid_exp,
entry_grid_req,
program))
stock_add.grid(row=4, column=15)
experiment_list = Label(exp_list, width=10, bg="#dcdcdc", fg="#000000", text="Experiment list.")
experiment_list.grid(row=4, column=1)
for i in range(1, 16):
entry_column = []
for x in range(0, 13):
entry_column.append(Label(exp_list, width=15, bg="#FFFFFF", relief=SUNKEN))
entry_column[x].grid(row=x+6, column=i, padx=0, pady=0)
entry_grid_exp.append(entry_column)
for i in range(1, 16):
divider = Label(exp_list, width=10, bg="#dcdcdc", fg="#dcdcdc", text="divider")
divider.grid(row=21, column=i)
request_list = Label(exp_list, width=10, bg="#dcdcdc", fg="#000000", text="Requested list.")
request_list.grid(row=20, column=1)
for i in range(1, 16):
entry_column = []
for x in range(0, 6):
entry_column.append(Label(exp_list, width=15, bg="#FFFFFF", relief=SUNKEN))
entry_column[x].grid(row=x+21, column=i, padx=0, pady=0)
entry_grid_req.append(entry_column)
stock_lists()
mainloop()