В функцию нужно передавать только обязательные параметры (заранее не известные), параметры известные заранее лучше передавать по умолчанию, а ещё лучше как константы (переменные с заранее присвоенным значением). Сравните функции:
def DrawTable(Fa,Ba,Fp,Bp,Fm,Bm): #все параметры должны быть переданы
"""
Строка документции
"""
def setDef(v,d): #что делает эта функция???
if v=='':
v=d
return v
#в следующей строке кода переназначаются параметры переданные в функцию DrawTable. Вот это и есть лютый говнокод.
Fa,Ba,Fp,Bp,Fm,Bm=setDef(Fa,'#000'),setDef(Ba,'#FFF'),setDef(Fp,'#000'),setDef(Bp,'#F8F8F8'),setDef(Fm,'#000'),setDef(Bm,'#FFFFF8')
print(Fa,Ba,Fp,Bp,Fm,Bm) #смотрим на переменные
"""
Какой-то код не нужный пока
"""
Table=DrawTable('','','#114','','','') #передаём в функцию пять пустых и один нормальный параметр
#сравните с этий функцией:
def DrawTable1(Fa='#000',Ba='#FFF',Fp='#000',Bp='#F8F8F8',Fm='#000',Bm='#FFFFF8'): #если параметр не передан, то будет по умолчанию
"""
Строка документции
"""
print(Fa,Ba,Fp,Bp,Fm,Bm) #смотрим на переменные
"""
Какой-то код не нужный пока
"""
Table=DrawTable1(Ba='этот параметр будет изменён',Fm='этот тоже') #передаём в функцию только то, что должно измениться
Сравните ваш код с этим (хотя, и этот не идеал):
import tkinter as tk
#очень удобно назначать константы здесь:
Fa,Ba='#000','#fdd' #Foregraund Color & Backgraund Color for Active
Fp,Bp='#000','#dfd' #Foregraund Color & Backgraund Color for Passive
Fm,Bm='#000','#ddf' #Foregraund Color & Backgraund Color for Marked
W=tk.Tk()
def DrawTable(ER,H): #Build simple empty Table
for i,k in enumerate(H): #создаём виджеты в соответствии с переданными параметрами
if H[k]<100: #Passive
tk.Label(W,text=k,relief='groove',fg=Fp,bg=Bp).grid(row=0,column=i,sticky='we')
tk.Listbox(W,width=(H[k]%100)+1,selectmode='browse',fg=Fp,bg=Bp).grid(row=1,column=i,sticky='we')
else: #Active
tk.Label(W,text=k,relief='groove',fg=Fa,bg=Ba).grid(row=0,column=i,sticky='we')
tk.Listbox(W,width=(H[k]%100)+1,selectmode='browse',fg=Fa,bg=Ba).grid(row=1,column=i,sticky='we')
def TabHandler(event,r,c): #For events
pass
Table=DrawTable(TabHandler,{'Check1':0,'Check2':100,'NN':102,'Name':14,'Flag1':0,'Flag2':0,'Flag3':0,'Size':104,'File Name':119})
W.mainloop()